1. ----数据库备份说明----  
  2. ----一、备份语句组成:------------  
  3. ----    1、备份语句--关键词部分:  
  4. ----       备份完整的数据库:BACKUP DATABASE 数据库名称  
  5. ----       备份文件组或文件:BACKUP DATABASE 数据库名称 FILEGROUP=N'' 或者 BACKUP DATABASE 数据库名称 FILE=N''  
  6. ----       备份日志文件    :BACKUP LOG 数据库名称  
  7. ----    2、备份语句--设备部分  
  8. ----       备份到磁盘(不带镜像):TO DISK=N'Windows目录名称'  
  9. ----       备份到磁盘(带镜像)  :TO DISK=N'Windows目录名称' MIRROR TO DISK=N'Windows目录名称'  
  10. ----       备份到磁带(不带镜像):TO TYPE=N''  
  11. ----       备份到磁带(带镜像)  :TO TYPE=N'' MIRROR TO DISK=N''  
  12. ----       说明:必须对 MIRROR TO 子句和 TO 子句指定相同类型和数量的备份设备,最多可以使用三个 MIRROR TO 子句。  
  13. ----    3、备份语句--选项部分(WITH)  
  14. ----       A.备份选项  
  15. ----         DIFFERENTIAL:差异备份  
  16. ----         COPY_ONLY   :指定备份为【仅复制备份】  
  17. ----                 说明:COPY_ONLY与 BACKUP DATABASE 一起使用时,COPY_ONLY 选项创建的完整备份不能用作差异基准。差异位图不会被更新,因此差异备份的表现就像仅复制备份不存在一样。  
  18. ----                       后续差异备份将最新的常规完整备份用作它们的基准。  
  19. ----                       如果将 DIFFERENTIAL 与 COPY_ONLY 一起使用,则忽略 COPY_ONLY,将创建差异备份。  
  20. ----         COMPRESSION|NO_COMPRESSION:指定对于此备份是否执行备份压缩。  
  21. ----                                     安装时,默认行为是不进行备份压缩,此默认设置可通过设置 backup compression default 服务器配置选项进行更改。  
  22. ----                                     设置语句:  
  23. ----                                         USE MASTER  
  24. ----                                         GO  
  25. ----                                         EXEC Sp_configure 'backup compression default','1'  
  26. ----                                         RECONFIGURE OVERRIDE  
  27. ----         DESCRIPTION:为备份集指定一个说明,字符串最长可达 255 个字符。  
  28. ----         NAME:为备份集指定一个名称,字符串最长可达128个字符。  
  29. ----         EXPIREDATE = 'date' | RETAINDAYS = days:指定允许覆盖该备份的备份集的日期。如果同时使用这两个选项,RETAINDAYS 的优先级别将高于 EXPIREDATE。  
  30. ----       B.介质集选项  
  31. ----         NOINIT|INIT:控制备份操作是追加到还是覆盖备份介质中的现有备份集。默认为追加到介质中最新的备份集 (NOINIT)。  
  32. ----         NOSKIP|SKIP:控制备份操作是否在覆盖介质中的备份集之前检查它们的过期日期和时间。默认是检查过期日期和时间 (NOSKIP)  
  33. ----         NOFORMAT|FORMAT:指定是否应该在用于此备份操作的卷上写入介质标头,以覆盖任何现有的介质标头和备份集。默认为(NOFORMAT)  
  34. ----                          FORMAT 将使备份操作在用于备份操作的所有介质卷上写入新的介质标头。卷的现有内容将变为无效,因为覆盖了任何现有的介质标头和备份集。  
  35. ----         MEDIADESCRIPTION:指定介质集的自由格式文本说明,最多为 255 个字符。  
  36. ----         MEDIANAME:指定整个备份介质集的介质名称。介质名称的长度不能多于 128 个字符,如果指定了 MEDIANAME,则该名称必须匹配备份卷上已存在的先前指定的介质名称。  
  37. ----         MEDIAPASSWORD:为介质集设置密码。  
  38. ----         BLOCKSIZE:用字节数来指定物理块的大小。支持的大小是 512、1024、2048、4096、8192、16384、32768 和 65536 (64 KB) 字节。对于磁带设备默认为 65536,其他情况为 512。  
  39. ----                    通常,由于 BACKUP 自动选择适合于设备的块大小,因此不需要此选项。  
  40. ----                    如果要建立一个计划在 CD-ROM 上进行复制和还原的备份,请指定 BLOCKSIZE=2048。  
  41. ----       C.错误管理选项  
  42. ----         NO_CHECKSUM|CHECKSUM:控制是否启用备份校验和。NO_CHECKSUM是除压缩备份以外的默认行为,CHECKSUM是压缩备份的默认行为。  
  43. ----         STOP_ON_ERROR|CONTINUE_AFTER_ERROR:控制备份操作在遇到页校验和错误后是停止还是继续。STOP_ON_ERROR是默认行为。  
  44. ----  
  45. ----示例  
  46. ----下面的示例将 AdventureWorks2008R2 数据库的备份写入使用三个磁盘文件的新条带介质集。  
  47. BACKUP DATABASE AdventureWorks2008R2  
  48. TO DISK='X:\SQLServerBackups\AdventureWorks2008R2_1.bak',   
  49. DISK='Y:\SQLServerBackups\AdventureWorks2008R2_2.bak',   
  50. DISK='Z:\SQLServerBackups\AdventureWorks2008R2_3.bak' 
  51. WITH FORMAT,  
  52.    MEDIANAME = 'AdventureWorks2008R2StripedSet0',  
  53.    MEDIADESCRIPTION = 'Striped media set for AdventureWorks2008R2 database;' 
  54. GO  
  55.  
  56. ----下面的示例将 AdventureWorks2008R2 数据库的备份写入使用三个磁盘文件的新条带介质集并使用镜像备份。  
  57. ----对于镜像介质集,每个 MIRROR TO 子句列出的设备数量和类型都必须与 TO 子句列出的相同。  
  58. BACKUP DATABASE AdventureWorks2008R2  
  59. TO DISK='X:\SQLServerBackups\AdventureWorks2008R2_1a.bak',   
  60. DISK='Y:\SQLServerBackups\AdventureWorks2008R2_2a.bak',   
  61. DISK='Z:\SQLServerBackups\AdventureWorks2008R2_3a.bak' 
  62. MIRROR TO DISK='X:\SQLServerBackups\AdventureWorks2008R2_1b.bak',   
  63. DISK='Y:\SQLServerBackups\AdventureWorks2008R2_2b.bak',   
  64. DISK='Z:\SQLServerBackups\AdventureWorks2008R2_3b.bak' 
  65. GO  
  66.  
  67. ----备份整个数据库  
  68. ----下面的示例将 AdventureWorks2008R2 数据库备份到磁盘文件  
  69. BACKUP DATABASE AdventureWorks2008R2   
  70.  TO DISK = 'Z:\SQLServerBackups\AdvWorksData.bak' 
  71.    WITH FORMAT;  
  72. GO  
  73.  
  74. ----备份数据库和日志  
  75. ----下面的示例备份 AdventureWorks2008R2 示例数据库,默认情况下,该数据库使用简单恢复模式。若要支持日志备份,请将 AdventureWorks2008R2 数据库改为使用完整恢复模式。  
  76. ----接下来,该示例使用 sp_addumpdevice 创建一个逻辑备份设备以备份数据 (AdvWorksData),并创建另一个逻辑备份设备以备份日志 (AdvWorksLog)。  
  77. ----然后,该示例对 AdvWorksData 创建完整数据库备份,并在一段更新活动过后将日志备份到 AdvWorksLog。  
  78.  
  79. -- To permit log backups, before the full database backup, modify the database   
  80. -- to use the full recovery model.  
  81. USE master  
  82. GO  
  83. ALTER DATABASE AdventureWorks2008R2 SET RECOVERY FULL 
  84. GO  
  85. -- Create AdvWorksData and AdvWorksLog logical backup devices.   
  86. USE master  
  87. GO  
  88. EXEC sp_addumpdevice 'disk''AdvWorksData''Z:\SQLServerBackups\AdvWorksData.bak' 
  89. -- 删除逻辑设备
  90. -- EXEC sp_dropdevice '设备名' 
  91. GO  
  92. EXEC sp_addumpdevice 'disk''AdvWorksLog''X:\SQLServerBackups\AdvWorksLog.bak' 
  93. GO  
  94.  
  95. -- Back up the full AdventureWorks2008R2 database.  
  96. BACKUP DATABASE AdventureWorks2008R2 TO AdvWorksData  
  97. GO  
  98. -- Back up the AdventureWorks2008R2 log.  
  99. BACKUP LOG AdventureWorks2008R2 TO AdvWorksLog  
  100. GO  
  101.  
  102. ----创建辅助文件组的完整文件备份  
  103. ----下面的示例将对两个辅助文件组中的各个文件创建完整文件备份。  
  104. BACKUP DATABASE Sales  
  105.    FILEGROUP = 'SalesGroup1',  
  106.    FILEGROUP = 'SalesGroup2' 
  107.    TO DISK = 'Z:\SQLServerBackups\SalesFiles.bck' 
  108. GO  
  109.  
  110. ----创建辅助文件组的差异文件备份  
  111. ----下面的示例将对两个辅助文件组中的各个文件创建差异文件备份。  
  112. BACKUP DATABASE Sales  
  113.    FILEGROUP = 'SalesGroup1',  
  114.    FILEGROUP = 'SalesGroup2' 
  115.    TO DISK = 'Z:\SQLServerBackups\SalesFiles.bck' 
  116.    WITH DIFFERENTIAL  
  117. GO  
  118.