有哪些方法可用于监视SQL数据库记录?

Mau*_*imo 3 sql asp.net notifications monitoring

我想监控10个表,每个表有1000条记录.我需要知道什么时候记录,哪个记录改变了.

我已经查看了SQL依赖项,但是看起来SQL依赖项只能告诉我表已更改,而不是更改了哪条记录.然后我必须比较表中的所有记录以找到修改后的记录.我怀疑这对我来说是一个问题,因为记录不断变化.

我也研究了SQL触发器,但是我不确定触发器是否可以用于监视哪个记录发生了变化.

我的另一个想法是创建一个"监控"表,每当修改一条记录时,它会通过应用程序代码添加记录.

你知道其他任何方法吗?

编辑:我正在使用SQL Server 2008

我已经研究了SQL 2008中提供的并由Martin Smith建议的Change Data Capture.Change Data Capture似乎是一个强大,易于实施且极具吸引力的解决方案.我打算在我的数据库上滚动CDC.

Joh*_*ers 5

您可以添加触发器并让它们向审计表添加行.他们可以审核更改行的主键,甚至可以审核有关更改的其他信息.例如,在UPDATE的情况下,他们可以记录更改的列.