如何从Sql Server 2005 Express版的日志文件(.ldf)查询?

时间:2010-01-27 09:32:23

标签: sql-server sql-server-2005 sql-server-express mdf ldf

我想这样做,因为我想知道特定行被更改了多少次。

这可能吗?

由于

4 个答案:

答案 0 :(得分:2)

读取日志文件要么需要商业工具,要么需要大量的SQL内部知识才能实现。您可以使用以下命令查看一些原始输出:     选择* from :: fn_DBlog(null,null)

实际上解码以找到被更改的相同记录并确保进行任何更改等等,这将是一项艰难的任务。所以你可以做到这一点是“可能的”,但不是很“可能”。

如果您需要在数据库中使用该功能,那么您应该查看代码中的触发器/逻辑。

答案 1 :(得分:2)

迟到的答案,但我希望它对新读者有用......

您可以尝试的另一个功能是DBCC LOG,但不幸的是,这是与fn_dblog相同的未记录的功能。

SQL Server中的事务日志问题在于它从未打算用于此,而只是为了允许时间点恢复和事务属性。

您可以尝试使用广告log reader from ApexSQL

这里也有几个类似的帖子可能会让你朝着正确的方向前进。

Read the log file (*.LDF) in sql server 2008

SQL Server Transaction Log Explorer/Analyzer

答案 2 :(得分:0)

答案 3 :(得分:0)

考虑使用SQL Server 2008。

SQL Server 2008中有一个名为Change Data Capture的新功能,可以完全满足您的需求,即跟踪数据随时间的变化。

要检查日志文件以跟踪更改,这不是明智的做法。这样做会为您提供有限的历史记录,其范围也取决于您用于数据库的恢复模型。

通过使用日志表并使用SQL Server触发器填充它,您可以通过少量开发“滚动自己的”解决方案。这种解决方案的适用性当然取决于您的业务案例。

请阅读以下TechNet文章,了解一些有趣的内容:

Tracking Changes in Your Enterprise Database