• Backup--完整备份会打破现有的日志备份链么?


    --问题描述:

    --对数据库有一个周期性数据库备份和事务日志备份的维护计划,在维护计划外有工作人员对数据库进行完整备份,该备份会打乱现有的日志备份链么?

    --==========================================================

    --创建数据库

    CREATE DATABASE BackupTestDB 

    GO 

    USE BackupTestDB  

    GO 

    --创建测试表

    CREATE TABLE TB1 

        ID INT IDENTITY( 1,1 ) PRIMARY KEY,  

        ActionDesc NVARCHAR (200),  

        ActionTime DATETIME DEFAULT GETDATE() 

    --第一次完整备份

    BACKUP DATABASE BackupTestDB TO DISK='G:DBBackupF1.BAK'

    GO 

    --第一次完整备份后记录

    INSERT INTO TB1( ActionDesc) SELECT N' 第一次完整备份后 '

    GO 

    --第一次日志备份

    BACKUP LOG BackupTestDB TO DISK ='G:DBBackupL1.BAK'

    --第一次日志备份后记录

    INSERT INTO TB1( ActionDesc) SELECT N' 第一次日志备份后 '

    GO 

    --第二次完整备份

    BACKUP DATABASE BackupTestDB TO DISK='G:DBBackupF2.BAK'

    GO 

    --第二次完整备份后记录

    INSERT INTO TB1( ActionDesc) SELECT N' 第二次完整备份后 '

    GO 

    --第二次日志备份

    BACKUP LOG BackupTestDB TO DISK ='G:DBBackupL2.BAK'

    --第二次日志备份后记录

    INSERT INTO TB1( ActionDesc) SELECT N' 第二次日志备份后 '

    GO

    --==========================================================

    --还原方式

    USE master 

    GO

    --使用第一次完整备份恢复

    RESTORE DATABASE BackupTestDB FROM DISK='G:DBBackupF1.BAK'

    WITH NORECOVERY ,REPLACE

    GO

    --使用第一次日志备份恢复

    RESTORE DATABASE BackupTestDB FROM DISK='G:DBBackupL1.BAK'

    WITH NORECOVERY ,REPLACE

    GO

    --使用第二次日志备份恢复

    RESTORE DATABASE BackupTestDB FROM DISK='G:DBBackupL2.BAK'

    WITH RECOVERY ,REPLACE

    GO

    USE BackupTestDB 

    GO

    SELECT * FROM TB1

    还原方式

    USE master 

    GO

    --使用第二次完整备份恢复

    RESTORE DATABASE BackupTestDB

    FROM DISK ='G:DBBackupF2.BAK'

    WITH NORECOVERY ,REPLACE

    GO

    --使用第二次日志备份恢复

    RESTORE DATABASE BackupTestDB

    FROM DISK ='G:DBBackupL2.BAK'

    WITH RECOVERY ,REPLACE

    GO

    USE BackupTestDB 

    GO

    SELECT * FROM TB1

    --案例:

    --有数据库DB1 ,该数据库由于长时间未做日志备份,导致数据文件为 GB,而日志文件有GB,为截断日志,工作人员对数据库进行完整备份 +日志备份,结果发现日志备份耗费大量时间,且生成的日志备份文件较大。

    --解释:在数据库完成第一次完整备份后,第一次日志备份会以第一次完整备份为起始点开始备份日志,而后续的日志备份会以最近一次日志备份结束点为起始点开始备份,而不考虑最近一次完整备份。

    --如果确认当前数据无问题同是想快速收缩日志文件,可以修改数据库恢复模式为简单模式,然后收缩日志文件,再进行完整备份 +事务日志备份

    --建议:

    --在DBA 维护过程中,会在维护计划外对数据库进行备份,备份应考虑当前维护计划,应该将备份文件存放到维护计划使用的目录下,尤其是对日志进行备份,如果不希望截断日志,可以使用 COPY_ONLY

  • 相关阅读:
    大数据在企业中发挥的作用,以及如何驱动企业创新
    大数据在企业中发挥的作用,以及如何驱动企业创新
    学习各种预测数据的方法
    学习各种预测数据的方法
    大数据时代 企业须打好信息资源攻坚战
    大数据时代 企业须打好信息资源攻坚战
    小白学数据分析--充值记录分析
    大数据可视分析背后的商业逻辑
    大数据可视分析背后的商业逻辑
    大数据架构师必读的NoSQL建模技术
  • 原文地址:https://www.cnblogs.com/TeyGao/p/3519961.html
Copyright © 2020-2023  润新知