zoukankan      html  css  js  c++  java
  • 【转载】SQL2005差异备份


     

    -- 创建测试数据库和测试表
    CREATE DATABASE db_test
    GO
    CREATE TABLE db_test.dbo.tb(
    id int)
    INSERT db_test.dbo.tb (id)
    VALUES (1)
    GO
    
    -- 创建完全备份
    BACKUP DATABASE db_test
    TO DISK = 'c:\db_test.bak'
    WITH FORMAT
    
    -- 插第1条测试数据
    INSERT db_test.dbo.tb (id)
    VALUES (12)
    -- 创建差异备份
    BACKUP DATABASE db_test
    TO DISK = 'c:\db_test.bak'
    WITH DIFFERENTIAL
    
    -- 插第2条测试数据
    INSERT db_test.dbo.tb (id)
    VALUES (123)
    -- 创建差异备份
    BACKUP DATABASE db_test
    TO DISK = 'c:\db_test.bak'
    WITH DIFFERENTIAL
    GO
    
    -- 还原测试
    
    -- 1. 只还原第1个差异文件
    DROP DATABASE db_test
    GO
    RESTORE DATABASE db_test
    FROM DISK = 'c:\db_test.bak'
    WITH FILE = 1,
    NORECOVERY
    RESTORE DATABASE db_test
    FROM DISK = 'c:\db_test.bak'
    WITH FILE = 2
    GO
    SELECT * FROM db_test.dbo.tb
    GO
    
    -- 2. 只还原第2个差异文件
    DROP DATABASE db_test
    GO
    RESTORE DATABASE db_test
    FROM DISK = 'c:\db_test.bak'
    WITH FILE = 1,
    NORECOVERY
    RESTORE DATABASE db_test
    FROM DISK = 'c:\db_test.bak'
    WITH FILE = 3
    GO
    SELECT * FROM db_test.dbo.tb
    GO
    
    -- 删除测试环境
    DROP DATABASE db_test

    --验证备份文件中第二个备份集是否有误
    
    RESTORE VERIFYONLY
    FROM DISK = 'c:\db_test.bak'
    WITH FILE = 2
    
    --注意:如果未指定file,默认只校验第一个备份集是否正确。
    --查看备份设备上所有备份集的所有备份标头信息的结果集
    RESTORE HEADERONLY
    FROM  DISK = 'C:\db_test.bak'
    /*
    其中:
    BackupType为备份类型:
    1 = 数据库
    2 = 事务日志
    4 = 文件
    5 = 差异数据库
    6 = 差异文件
    Position备份集在卷中的位置,用于 FILE = 选项。
    BackupSize为备份大小(以字节为单位)
    其他详见:http://technet.microsoft.com/zh-cn/library/ms178536(SQL.90).aspx
    */
     
  • 相关阅读:
    复习一些奇怪的题目
    NOIP 考前 KMP练习
    NOIP 考前 并查集复习
    NOIP 考前 Tarjan复习
    NOIP 考前 图论练习
    BZOJ 1468 树分治
    Codeforces Round #376 (Div. 2)
    CodeVS 线段覆盖1~5
    Luogu 3396 权值分块
    BZOJ 2743 树状数组
  • 原文地址:https://www.cnblogs.com/tangqs/p/2628864.html
Copyright © 2011-2022 走看看