备份整个数据库,或者备份一个或多个文件或文件组 (BACKUP DATABASE)。另外,在完整恢复模式或大容量日志恢复模式下备份事务日志 (BACKUP LOG)。
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) 或字符串数据类型(ntext 或 text 数据类型除外)的变量。
注意: 不能备份数据库镜像伙伴关系中的镜像数据库。
-
<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) 或任何字符串数据类型(ntext 或 text 数据类型除外)的变量。
-
{DISK | TAPE }
= {
'
physical_device_name
' |
@
physical_device_name_var }
-
指定磁盘文件或磁带设备。在执行 BACKUP 语句之前,不要求指定的设备必须存在。如果存在物理设备且 BACKUP 语句中未指定 INIT 选项,则备份将追加到该设备。
有关详细信息,请参阅备份设备。
-
-
n
-