zoukankan      html  css  js  c++  java
  • 日志传送是否可以与普通事务日志备份并存

    2016-03-18 15:18 整理,未发布
    日志传送实际是备份日志、拷贝日志、还原日志。我们可以将备份好的日志文件拷贝一份到其他存储,再结合必要的完整备份,就可以用来还原数据。
    如果做了日志传送,还需对其做普通的日志备份。那就要考虑清楚,普通的日志备份不能截断事务日志,不然日志传送中的日志链就会中断。
    如果普通的事务日志带上with copy_only选项,它不会截断日志
    BACKUP LOG WITH COPY_ONLY --1 带COPY_ONLY日志备份
    BACKUP LOG --2 日志传送
    BACKUP LOG WITH COPY_ONLY --3 带COPY_ONLY日志备份
    第2步lastlsn=第3步的firstlsn,也就是要第3步的文件需在第2步的文件上才能还原
    如果没有类似第2步的普通日志备份,那backup log with copy_only类似差异备份,备份保存自上次日志备份(有截断日志)以来所有的变更。只要没有截断(完整/差异备份不会影响),日志备份(copy_only)文件越来越大。
    因此在日志传送和日志备份(copy_only)并存的情况下,还原顺序应该是:最近的完整备份+最近的完整备份与最近的日志备份(copy_only)之间的日志传送所生成的日志备份+最近的日志备份(copy_only)。
    --判断某日志备份是否能应用到当前正在还原的 DB上

    --判断某日志备份是否能应用到当前正在还原的 DB上
    USE master ;
    GO
    DECLARE @MyBitVar BIT;
    EXEC sp_can_tlog_be_applied
         @backup_file_name = N'D:logbak_log_copy5.bak' ,
         @database_name = N'logbakre',
         @result = @MyBitVar OUTPUT;
    SELECT @MyBitVar
    GO
  • 相关阅读:
    我所认识的JavaScript
    谈如何边做事,边提高
    对JavaScript开发中困扰的思考
    Soundex语音算法
    Perl分割字符串的一个精妙的写法
    Perl深拷贝
    Git diff hash顺序的问题
    perl命令行批量修改文件内容
    IOS写文件
    删除Linux乱码文件
  • 原文地址:https://www.cnblogs.com/Uest/p/5292246.html
Copyright © 2011-2022 走看看