SQL Server 2008 Express 版中的事务日志能否以文本形式查看?

-2 sql-server-2008 transaction-log

是否可以以文本/表格格式读取事务日志,如果可以,我该怎么做?

Pet*_*ter 7

以下查询将以表格格式输出当前日志的完整内容。如果您只需要一部分,请将 NULL 替换为 LSN。

SELECT * FROM sys.fn_dblog(NULL,NULL)
Run Code Online (Sandbox Code Playgroud)

如果这些数据不再在日志中,则以下查询将返回日志备份的内容。

SELECT * FROM fn_dump_dblog (
        NULL, NULL, 'DISK', 1, 'D:\SQLskills\FNDBLogTest_Log2.bak',
        DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
        DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
        DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
        DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
        DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
        DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
        DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
        DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
        DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT);
Run Code Online (Sandbox Code Playgroud)

是的,您必须指定所有 63 个默认值。这些代表文件,一个备份集中最多可以有 64 个文件。

Paul Randal 在此处发表了有关此主题的博客。