我正在处理一个请求,以开始记录一些额外的数据,以满足PCI的要求。我需要在一组表上记录谁、何时以及更改了什么。我设置了SQL审计,它可以很好地工作,除非正在更改的值是以@1、@2等的形式出现,而不是实际的数据。记录所需信息的其他选项是什么?疾控中心没有追踪是谁做出了这一改变。
这目前正在Server 2012上运行,但如果这将提供更好的解决方案,则有可能升级到2014年。
谢谢你,蒂姆
发布于 2015-01-14 16:53:10
我可能会带着触发器去。您将被警告有关性能的影响和所有这些,但说实话,没有一种“免费”的审计方式,而且您尝试的任何选项都会对您的工作负载产生一定的影响。您需要注意的是,如果有人更新了整个表,您也会将其记录下来,因此要为您的审计数据增长做好准备,以可能超过实际数据的速度。为此,可能需要在隔离存储上建立单独的数据库。
审计、疾控中心和变更跟踪如果结合在一起就很好了,但它们不是。正如您已经发现的,审计显示参数占位符,因此它告诉您是谁更改了它,但没有告诉您更改了什么,其他两个告诉您更改了什么,但没有告诉您是谁更改了它或何时更改。
我要求在CDC数据中包含用户名和日期/时间,但被拒绝了:
http://connect.microsoft.com/SQLServer/feedback/details/283707/cdc-options-to-capture-more-data-username-date-time-etc
我还要求在更改跟踪中列入日期/时间信息,但同样被拒绝:
http://connect.microsoft.com/SQLServer/feedback/details/319049/change-tracking-provide-datetime-column
我不知道审计的局限性。如果我知道这件事,我也会要求的。也会像其他人一样被拒绝。
https://dba.stackexchange.com/questions/89293
复制相似问题