繁体   English   中英

跟踪SQL Server表数据更改

[英]Tracking SQL Server Table data changes

我们目前正在医疗保健应用程序中工作。 由于医疗数据非常敏感,因此我们可能必须保留对某些医疗记录所做的所有更改的历史记录。 我知道我们可以通过保留历史记录表来记录更改来做到这一点。 但是保留历史记录表将导致数据库增大。 因此,我想知道SQL Server中是否有任何功能可以跟踪表的完整数据更改。 我听说过变更数据捕获功能,它适用于我的情况吗? 提前致谢

这在很大程度上取决于您需要跟踪的内容。 首先,任何追踪所有历史的东西都使用更多的空间,并且假设相同的细节水平,他所需的空间不会有太大差异。 数据就是数据,它只占用存储空间。 但是,如果您愿意的话,可以通过多种选择看待存储在SQL之外的审核信息,这很有帮助。

其次,您至少有三个立即显而易见的选择。

  1. 在表上使用SQL触发器来创建历史记录表。 这确实允许您包含任意数量的列,因此这是一个不错的功能。

  2. 使用SQL更改跟踪来监视更改并创建历史表或审核更改。 更改跟踪仅存储有更改,由您来存储更改是什么。 由于这是可查询的,因此您可以根据需要相对容易地将其存储在dB之外。

  3. 如前所述使用SQL Change Data Capture。 这确实是重量级的,对性能和存储有影响。 但是,它将为您完成大部分工作,并且相对易于使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM