我想这样做,因为我想知道特定行被更改了多少次。
这可能吗?
由于
答案 0 :(得分:2)
读取日志文件要么需要商业工具,要么需要大量的SQL内部知识才能实现。您可以使用以下命令查看一些原始输出: 选择* from :: fn_DBlog(null,null)
实际上解码以找到被更改的相同记录并确保进行任何更改等等,这将是一项艰难的任务。所以你可以做到这一点是“可能的”,但不是很“可能”。
如果您需要在数据库中使用该功能,那么您应该查看代码中的触发器/逻辑。
答案 1 :(得分:2)
迟到的答案,但我希望它对新读者有用......
您可以尝试的另一个功能是DBCC LOG,但不幸的是,这是与fn_dblog相同的未记录的功能。
SQL Server中的事务日志问题在于它从未打算用于此,而只是为了允许时间点恢复和事务属性。
您可以尝试使用广告log reader from ApexSQL。
这里也有几个类似的帖子可能会让你朝着正确的方向前进。
答案 2 :(得分:0)
答案 3 :(得分:0)
考虑使用SQL Server 2008。
SQL Server 2008中有一个名为Change Data Capture的新功能,可以完全满足您的需求,即跟踪数据随时间的变化。
要检查日志文件以跟踪更改,这不是明智的做法。这样做会为您提供有限的历史记录,其范围也取决于您用于数据库的恢复模型。
通过使用日志表并使用SQL Server触发器填充它,您可以通过少量开发“滚动自己的”解决方案。这种解决方案的适用性当然取决于您的业务案例。
请阅读以下TechNet文章,了解一些有趣的内容: