sql server 2005 T-SQL BACKUP (Transact-SQL)

本文详细介绍了SQL Server 2005中如何使用T-SQL进行数据库和日志的备份操作,包括各种备份类型、选项、并发控制以及镜像媒体集的使用,同时涵盖了备份过程中的并发性和错误管理策略。
摘要由CSDN通过智能技术生成

备份整个数据库,或者备份一个或多个文件或文件组 (BACKUP DATABASE)。另外,在完整恢复模式或大容量日志恢复模式下备份事务日志 (BACKUP LOG)。

主题链接图标 Transact-SQL 语法约定

Backing Up a Whole Database 
BACKUP DATABASE { database_name | @database_name_var }
  TO <backup_device> [ ,...n ]
  [ <MIRROR TO clause> ] [ next-mirror-to ]
  [ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } ]
[;]

Backing Up Specific Files or Filegroups
BACKUP DATABASE { database_name | @database_name_var }
 <file_or_filegroup> [ ,...n ]
  TO <backup_device> [ ,...n ]
  [ <MIRROR TO clause> ] [ next-mirror-to ]
  [ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } ]
[;]

Creating a Partial Backup
BACKUP DATABASE { database_name | @database_name_var }
 READ_WRITE_FILEGROUPS [ , <read_only_filegroup> [ ,...n ] ]
  TO <backup_device> [ ,...n ]
  [ <MIRROR TO clause> ] [ next-mirror-to ]
  [ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } ]
[;]
Backing Up the Transaction Log (full and bulk-logged recovery models)
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 ] ]
[;]

Truncating the Transaction Log (breaks the log chain)
BACKUP LOG { database_name | @database_name_var }
  WITH { NO_LOG | TRUNCATE_ONLY }
[;]

<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 ]

<file_or_filegroup>::=
 {
   FILE = { logical_file_name | @logical_file_name_var }
 | FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
 }

<read_only_filegroup>::=
FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }

<general_WITH_options> [ ,...n ]::=
--Backup Set Options
      COPY_ONLY
  | DESCRIPTION = { 'text' | @text_variable }
 | NAME = { backup_set_name | @backup_set_name_var }
 | PASSWORD = { password | @password_variable }
 | [ EXPIREDATE = { date | @date_var }
        | RETAINDAYS = { days | @days_var } ]
 | NO_LOG

--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 }

--Data Transfer Options
   BUFFERCOUNT = { buffercount | @buffercount_variable }
 | MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }

--Error Management Options
   { NO_CHECKSUM | CHECKSUM }
 | { STOP_ON_ERROR | CONTINUE_AFTER_ERROR }

--Compatibility Options
   RESTART

--Monitoring Options
   STATS [ = percentage ]

--Tape Options
   { REWIND | NOREWIND }
 | { UNLOAD | NOUNLOAD }

--Log-specific Options
   { NORECOVERY | STANDBY = undo_file_name }
 | NO_TRUNCATE
DATABASE

指定一个完整数据库备份。如果指定了一个文件和文件组的列表,则仅备份该列表中的文件和文件组。在进行完整数据库备份或差异数据库备份时,SQL Server 会备份足够的事务日志,以便在还原备份时生成一个一致的数据库。

注意:
master 数据库,只能采用完整数据库备份。
LOG

指定仅备份事务日志。该日志是从上一次成功执行的日志备份到当前日志的末尾。必须创建完整备份,才能创建第一个日志备份。

注意:
执行典型日志备份后,如果没有指定 WITH NO_TRUNCATE 或 COPY_ONLY,某些事务日志记录将变为不活动状态。一个或多个虚拟日志文件中的所有记录变为不活动状态后,日志将被截断。如果日志在常规日志备份后未被截断,则可能是某些操作延迟了日志截断。有关详细信息,请参阅管理事务日志
{ database_name | @ database_name_var }

备份事务日志、部分数据库或完整的数据库时所用的源数据库。如果作为变量 (@database_name_var) 提供,则可以将该名称指定为字符串常量 (@database_name_var = database name) 或字符串数据类型(ntexttext 数据类型除外)的变量。

注意:
不能备份数据库镜像伙伴关系中的镜像数据库。
<file_or_filegroup> [ ,... n ]

只能与 BACKUP DATABASE 一起使用,用于指定某个数据库文件或文件组包含在文件备份中,或某个只读文件或文件组包含在部分备份中。

FILE ={ logical_file_name | @ logical_file_name_var }

文件或变量的逻辑名称,其值等于要包含在备份中的文件的逻辑名称。

FILEGROUP = { logical_filegroup_name | @ logical_filegroup_name_var }

文件组或变量的逻辑名称,其值等于要包含在备份中的文件组的逻辑名称。在简单恢复模式下,只允许对只读文件组执行文件组备份。

注意:
如果数据库的大小和性能要求使得进行数据库备份不切实际,则考虑使用文件备份。
n

一个占位符,表示可以在逗号分隔的列表中指定多个文件和文件组。数目没有限制。

有关详细信息,请参阅完整文件备份如何备份文件和文件组 (Transact-SQL)

READ_WRITE_FILEGROUPS [ , FILEGROUP = { logical_filegroup_name | @ logical_filegroup_name_var } [ ,... n ] ]

指定部分备份。部分备份包括数据库中的所有读/写文件:主文件组和任何读/写辅助文件组,以及任何指定的只读文件或文件组。

READ_WRITE_FILEGROUPS

指定在部分备份中备份所有读/写文件组。如果数据库是只读的,则 READ_WRITE_FILEGROUPS 仅包括主文件组。

重要提示:
使用 FILEGROUP 而不是 READ_WRITE_FILEGROUPS 显式列出读/写文件组将会创建文件备份。
FILEGROUP = { logical_filegroup_name | @ logical_filegroup_name_var }

只读文件组或变量的逻辑名称,其值等于要包含在部分备份中的只读文件组的逻辑名称。有关详细信息,请参阅本主题前面的“<file_or_filegroup>”。

n

一个占位符,表示可以在逗号分隔的列表中指定多个只读文件组。

有关部分备份的详细信息,请参阅部分备份

TO <backup_device> [ ,... n ]

表示伴随的备份设备组是一个非镜像媒体集,或者是镜像媒体集中的第一个镜像(对其声明一个或多个 MIRROR TO 子句)。

<backup_device>

指定用于备份操作的逻辑备份设备或物理备份设备。

{ logical_device_name | @ logical_device_name_var }

数据库要备份到的备份设备(由 sp_addumpdevice 创建)的逻辑名称。逻辑名称必须遵守标识符规则。如果作为变量 (@logical_device_name_var) 提供,则可以将该备份设备名称指定为字符串常量 (@logical_device_name_var = logical backup device name) 或任何字符串数据类型(ntexttext 数据类型除外)的变量。

{DISK | TAPE } = { ' physical_device_name ' | @ physical_device_name_var }

指定磁盘文件或磁带设备。在执行 BACKUP 语句之前,不要求指定的设备必须存在。如果存在物理设备且 BACKUP 语句中未指定 INIT 选项,则备份将追加到该设备。

有关详细信息,请参阅备份设备

n
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值