我正在处理开始记录一些额外数据以符合 PCI 要求的请求。我需要在一组表上记录谁、何时以及发生了什么变化。我设置了 SQL 审计,它可以正常工作,除了正在更改的值作为 @1、@2 等而不是实际数据通过这一事实。记录所需信息的其他选项是什么?CDC 不会跟踪谁进行了更改。
它目前在 SQL Server 2012 上运行,但如果能提供更好的解决方案,则可能升级到 2014。
谢谢,蒂姆
我可能会使用触发器。您将收到有关性能影响和所有这些的警告,但实际上没有一种“免费”的审计方式,您尝试的任何选项都会对您的工作量产生一些影响。您需要注意,如果有人更新了整个表,您也将对其进行记录,因此请准备好审核数据增长可能超过您的实际数据。为此,可能需要在隔离存储上使用单独的数据库。
如果将审计、CDC 和变更跟踪结合起来会很棒,但事实并非如此。正如您所发现的,审计会显示参数占位符,因此它会告诉您是谁更改了它,但不会告诉您更改了什么,另外两个会告诉您更改了什么,但不会告诉您更改的是谁或何时更改。
我已经要求能够在 CDC 数据中包含用户名和日期/时间,但被拒绝了:
我还要求在更改跟踪中包含日期/时间信息,但同样被拒绝:
我不知道审计限制。如果我知道它,我也会要求它。它会像其他人一样被拒绝。
归档时间: |
|
查看次数: |
85 次 |
最近记录: |