zoukankan      html  css  js  c++  java
  • 查看SQL Server备份后的日志(转载)

    Part1中我们提到可以用fn_dblog查看Active的Log,但是如果Log被备份以后我们还可以查看吗?
    
      
    
    答案是可以的,使用fn_dump_dblog。
    
     
    
    下面是我自己做的测试:
    
      
    
    1.  --insert data to table
    
     INSERT INTO ProdTable2DEFAULTVALUES;
    
     GO 1000
    
     
    
    2.   ---查询Log信息
    
     select * from fn_dblog(null,null)whereOperation='LOP_INSERT_ROWS'
    
    查到100条记录。
    
    
    
    3.  --备份Log
    
    backup log FNDBLogTesttodisk='d:mssqlFNDBLogTest.trn'
    
     
    
    4.  ---查询Log信息
    
     select * from fn_dblog(null,null)whereOperation='LOP_INSERT_ROWS'
    
    (0 row(s) affected)
    
    可以看到Log已经被备份了,没有Active的Log存在,所以fn_dblog没有返回任何信息。
    
    我们用下面的语句在查一下:
    
    5.  –从备份Log查询:
    
    SELECT * FROMfn_dump_dblog(
    
         NULL, NULL,'DISK', 1,'d:mssqlFNDBLogTest.trn',
    
         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)
    
         whereOperation ='LOP_INSERT_ROWS'
    
     GO
    
    查询结果显示1000记录:
    
       
    
    比对一下查询结果跟日志备份前fn_dblog的查询结果相同。
    
     
    
    注意:需要指定63个默认NULL参数,否则无法返回数据。前5个参数含义如下:
    
     
    
    1.  开始LSN
    
    2.  结束LSN
    
    3.  备份文件类型(disk或者Type)
    
    4.  备份文件顺序号(假设多个备份到同一个文件)
    
    5.  备份文件名
    
     
    
    更详细的信息可以参考Paul在SQLSkill上的文章(Using fn_dblog, fn_dump_dblog, and restoring with STOPBEFOREMARK to an LSN)

    https://blog.csdn.net/kevinsqlserver/article/details/7817540

  • 相关阅读:
    【转】设计模式总结
    【转】并行开发
    C#开发微信公众平台-就这么简单
    (转载)MVC,MVP 和 MVVM 的图示
    插入排序
    选择排序
    VS发布 错误 未能将文件 复制到
    SqlServer 更改数据库名称
    linq查询时查询语句中附带多个查询时“已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭”
    不能将 CHECK_POLICY 和 CHECK_EXPIRATION 选项设为 OFF (关)
  • 原文地址:https://www.cnblogs.com/iwana/p/13395475.html
Copyright © 2011-2022 走看看