zoukankan      html  css  js  c++  java
  • SQL Server 2008 读书笔记(9):备份和恢复数据库

    Lesson 1: Backing up Databases

    Full Backups

    BACKUP DATABASE { database_name | @database_name_var }
    TO <backup_device> [ ,...n ]
    [ <MIRROR TO clause> ] [ next-mirror-to ]
    [ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } ]
    
    <backup_device>::= { { logical_device_name | @logical_device_name_var }
    | { DISK | TAPE } =
    { 'physical_device_name' | @physical_device_name_var } }
    
    <MIRROR TO clause>::= MIRROR TO <backup_device> [ ,...n ]
    <general_WITH_options> [ ,...n ]::=
    
    --Backup Set Options
    COPY_ONLY | { COMPRESSION | NO_COMPRESSION }
    | DESCRIPTION = { 'text' | @text_variable }
    | NAME = { backup_set_name | @backup_set_name_var }
    | PASSWORD = { password | @password_variable }
    | { EXPIREDATE = { 'date' | @date_var }
    | RETAINDAYS = { days | @days_var } }
    
    --Media Set Options
    { NOINIT | INIT } | { NOSKIP | SKIP } | { NOFORMAT | FORMAT }
    | MEDIADESCRIPTION = { 'text' | @text_variable }
    | MEDIANAME = { media_name | @media_name_variable }
    | MEDIAPASSWORD = { mediapassword | @mediapassword_variable }
    | BLOCKSIZE = { blocksize | @blocksize_variable }
    
    --Error Management Options
    { NO_CHECKSUM | CHECKSUM }
    | { STOP_ON_ERROR | CONTINUE_AFTER_ERROR }
    BACKUP DATABASE AdventureWorks2008R2
    TO DISK = 'AdventureWorks_1.bak', DISK = ' AdventureWorks_2.bak'
    GO

    Transaction Log Backups

    BACKUP LOG { database_name | @database_name_var }
    TO <backup_device> [ ,...n ]
    [ <MIRROR TO clause> ] [ next-mirror-to ]
    [ WITH { <general_WITH_options> | <log-specific_optionspec> } [ ,...n ] ][;]

    Differential Backups

    Filegroup Backups

    BACKUP DATABASE database_name READ_WRITE_FILEGROUPS
    [,<file_filegroup_list>] TO <backup_device>
    BACKUP SERVICE MASTER KEY TO FILE = 'path_to_file'
    ENCRYPTION BY PASSWORD = 'password'
    
    BACKUP MASTER KEY TO FILE = 'path_to_file'
    ENCRYPTION BY PASSWORD = 'password'
    
    OPEN MASTER KEY DECRYPTION BY PASSWORD = '<SpecifyStrongPasswordHere>';
    
    BACKUP CERTIFICATE certname TO FILE = 'path_to_file'
    
    BACKUP CERTIFICATE certname TO FILE = 'path_to_file'
    [ WITH PRIVATE KEY
    ( FILE = 'path_to_private_key_file' ,
    ENCRYPTION BY PASSWORD = 'encryption_password'
    [ , DECRYPTION BY PASSWORD = 'decryption_password' ] ) ]
    
    RESTORE VERIFYONLY FROM <backup device>

     Quick Check
    1. What are the four types of backups?
    2. How can you detect and log corrupt pages?

    Quick Check Answers
    1. You can execute full, differential, transaction log, and fi le/fi legroup backups. A full backup is required before you can create a differential or transaction log backup.
    2. Execute ALTER DATABASE <database name> SET PAGE_VERIFY CHECKSUM.

     Practice:

    Full backup and Transaction log backup

    BACKUP DATABASE AdventureWorks2008R2
    TO DISK = 'c:\test\AdventureWorks_1.bak'
    MIRROR TO DISK = 'c:\test\AdventureWorks_2.bak'
    WITH COMPRESSION, INIT, FORMAT, CHECKSUM, STOP_ON_ERROR
    GO
    
    USE AdventureWorks2008R2
    GO
    
    INSERT INTO HumanResources.Department(Name, GroupName)
    VALUES('Test1', 'Research and Development')
    GO
    
    BACKUP LOG AdventureWorks2008R2
    TO DISK = 'c:\test\AdventureWorks_1.trn'
    WITH COMPRESSION, INIT, CHECKSUM, STOP_ON_ERROR
    GO
    
    INSERT INTO HumanResources.Department(Name, GroupName)
    VALUES('Test2', 'Research and Development')
    GO
    
    BACKUP LOG AdventureWorks2008R2
    TO DISK = 'c:\test\AdventureWorks_2.trn'
    WITH COMPRESSION, INIT, CHECKSUM, STOP_ON_ERROR
    GO

     Diffrrential backup

    USE AdventureWorks2008R2
    GO
    
    INSERT INTO HumanResources.Department(Name, GroupName)
    VALUES('Test3', 'Research and Development')
    GO
    
    BACKUP DATABASE AdventureWorks2008R2
        TO DISK = 'c:\test\AdventureWorks_1.dif'
        MIRROR TO DISK = 'c:\test\AdventureWorks_2.dif'
        WITH DIFFERENTIAL, COMPRESSION, INIT, FORMAT, CHECKSUM, STOP_ON_ERROR
    GO

    Lesson Summary

    •   Full backups are the starting point for every backup procedure and recovery process. A full backup contains only the pages within the database that have been used.
    •   Differential backups contain all pages that have changed since the last full backup and are used to reduce the number of transaction log backups that need to be applied.
    •   Transaction log backups contain all the changes that have occurred since the last transaction log backup.
    •   To execute a transaction log backup, the database must be in either the Full or Bulk-logged recovery model, a full backup must have been executed, and the transaction log must not have been truncated since the last full backup.
    •   You can back up only the fi legroups that accept changes by using the READ_WRITE_FILEGROUPS option of the BACKUP DATABASE command.
  • 相关阅读:
    javascript 离开网页时 触发函数
    dhl:简单的WebConfig加密 连接字符加密解密
    javascript获取网页URL地址及参数等
    dhl:img 的src 在 ie7下是将全路径。>ie8和firefox没有问题
    有趣有用网址大全
    VS2010 项目引用了DLL文件,也写了Using,但是编译时提示:未能找到类型或命名空间名称
    iis6配置支持.net4.0
    闲语MVC3和Razor 转自:啊不
    dhl:4.0服务器端控件
    如何在C#中实现窗体全屏模式
  • 原文地址:https://www.cnblogs.com/thlzhf/p/2889661.html
Copyright © 2011-2022 走看看