我正在寻找一种方法来读取SQL Server 2008日志文件,不是为了显示信息,而是为了读取符号的含义和LOG表的结构。我正在使用DBCC LOG('my_table', 3)
。
答案 0 :(得分:11)
首先,为了能够读取您的数据库需要处于完全恢复模式的任何有意义的数据。否则你可能在那里找不到多少。有两种方法可以做到这一点。使用未记录的SQL函数和使用第三方工具。
SQL函数:
DBCC LOG和fn_dblog - 更多详情here和here
第三方工具:
Toad for SQL Server(实际上比读取日志要多得多)和ApexSQL Log(仅关注阅读事务日志)。
答案 1 :(得分:7)
请参阅此Stack Overflow帖子中的答案: How can I view SQL Server 2005 Transaction log file
或者
使用此命令:
Select * from ::fn_dblog(null,null)
有关详细信息,请参阅 How Do You Decode A Simple Entry in the Transaction Log 。
答案 2 :(得分:3)
如果您想查看用户发出的查询,请在评论中填写:
启动跟踪或使用扩展事件来捕获sql文本。请参阅 How to: Create a Trace (SQL Server Profiler) 。