我想监控 10 个表,每个表有 1000 条记录。我需要知道一条记录何时以及哪条记录发生了更改。
我已经研究了 SQL 依赖关系,但是 SQL 依赖关系似乎只能告诉我表发生了变化,而不能告诉我哪条记录发生了变化。然后我必须比较表中的所有记录才能找到修改的记录。我怀疑这对我来说是一个问题,因为记录不断变化。
我还研究了 SQL 触发器,但是我不确定触发器是否可以用于监视更改的记录。
我的另一个想法是创建一个“监控”表,每当修改记录时,都会通过应用程序代码向其中添加记录。
你还知道其他方法吗?
编辑: 我正在使用 SQL Server 2008
我研究了 SQL 2008 中提供的、由 Martin Smith 建议的更改数据捕获。变更数据捕获似乎是一个强大、易于实现且非常有吸引力的解决方案。我将在我的数据库上使用 CDC。
最佳答案
您可以添加触发器并让它们将行添加到审核表中。他们可以审核已更改行的主键,甚至有关更改的其他信息。例如,在更新的情况下,他们可以记录更改的列。
关于asp.net - 有哪些方法可以监控SQL数据库记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9405199/