在SQL Server 2008中读取日志文件(*.LDF)

5
我正在寻找一种方法来读取SQL Server 2008日志文件,不是为了显示信息,而是为了读取符号的含义和LOG表的结构。我正在使用DBCC LOG('my_table', 3)

你不能直接读取SQL Server事务日志文件 - 这并没有真正记录。为什么需要读取日志文件,你希望在其中找到什么? - marc_s
是的 - 但那些信息并没有以任何文本形式或其他形式记录在交易日志中。DBCC 收集和解释原始数据 - 您必须拥有 DBCC 的源代码才能理解如何执行此操作(而您无法获得该代码 - 毕竟它不是一个开源项目)。 - marc_s
这很奇怪,那么我们如何使用日志文件?我正在使用本地数据库,我是管理员,但我无法查看日志文件中发生的事情?因为我将把这个数据库放在网上,我必须看到用户做了什么...还有其他方法可以做到这一点吗? - Neuvill
好的,那您建议如何备份日志和交易记录呢?我认为可以使用一个记录所有交易的Transact表进行备份。 - Neuvill
使用fn_dblog()函数读取SQL Server日志文件的方法太长了。您可以尝试使用免费的SQL LDF查看器 - Jason Clark
显示剩余4条评论
3个回答

11

首先,为了能够读取任何有意义的数据,您的数据库需要处于完全恢复模式下。否则,您可能不会在其中找到太多信息。有两种方法可以做到这一点:使用未记录的SQL函数和使用第三方工具。

SQL函数:

DBCC LOG和fn_dblog-更多详细信息此处此处

第三方工具:

Toad for SQL Server(实际上除了读取日志之外还可以完成其他很多操作)和ApexSQL Log(仅专注于读取事务日志)。


8

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接