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

  • 相关阅读:
    缓存雪崩与缓存穿透
    读取表中最大值
    使用vscode在谷歌上运行代码
    elment 中tree组件展开所有和收缩所有节点
    深度系统商店提示无法安装软件依赖错误
    诗词,理解,品论
    《45个十分钟读懂资本论》原文、适合朗读版和个人见解
    《论持久战》全文
    OSError: [WinError 126] 找不到指定的模块。
    C++ 获取序列最大(或最小)的 N 个元素
  • 原文地址:https://www.cnblogs.com/iwana/p/13395475.html
Copyright © 2011-2022 走看看