当前位置 > 首页 > Sql

MS SQL数据库备份和恢复命令

4/16/2011 1:26:00 AM来源:Sql

数据库备份命令:
BACKUP DATABASE 数据库名称 TO DISK = '备份路径'
数据库恢复命令:
RESTORE DATABASE 数据库名称 FROM DISK = '备份文件完整路径'
MS SQL帮助文档中对BACKUP命令的说明如下:
RESTORE。
如果为媒体集定义了媒体密码,则必须提供密码。
MEDIADESCRIPTION = { text | @text_variable }
指明媒体集的自由格式文本描述,最多为 255 个字符。
MEDIADESCRIPTION = { text | @text_variable }
为整个备份媒体集指明媒体名,最多为 128 个字符。假如指定了 MEDIANAME,则它必须与以前指定的媒体名相匹配,该媒体名已存在于备份卷中。假如没有指定 MEDIANAME,或指定了 SKIP 选项,将不会对媒体名进行验证检查。
MEDIAPASSWORD = { mediapassword | @mediapassword_variable }
为媒体集设置密码。MEDIAPASSWORD 是一个字符串。
如果为媒体集定义了密码,则在该媒体集上创建备份集时必须提供此密码。另外,从该媒体集执行任何还原操作时也必须提供媒体密码。只有通过格式化才能重写受密码保护的媒体。有关更多信息,请参见 FORMAT 选项。
有关使用密码的更多信息,请参见"权限"部分。
NAME = { backup_set_name | @backup_set_var }
指定备份集的名称。名称最长可达 128 个字符。假如没有指定 NAME,它将为空。
NORECOVERY
只与 BACKUP LOG 一起使用。备份日志尾部并使数据库处于正在还原的状态。当将故障转移到辅助数据库或在 RESTORE 操作前保存日志尾部时,NORECOVERY 很有用。
STANDBY = undo_file_name
只与 BACKUP LOG 一起使用。备份日志尾部并使数据库处于只读或备用模式。撤消文件名指定了容纳回滚更改的存储,如果随后应用 RESTORE LOG 操作,则必须撤消这些回滚更改。
如果指定的撤消文件名不存在,SQL Server 将创建该文件。如果该文件已存在,则 SQL Server 将重写它。有关更多信息,请参见使用备用服务器。
NOREWIND
指定 SQL Server 在备份操作完成后使磁带保持打开。NOREWIND 意即 NOUNLOAD。SQL Server 将保留磁带驱动器的所有权,直到 BACKUP或 RESTORE 命令使用 REWIND 为止。
如果无意中使磁带处于打开状态,则释放磁带的最快方法是使用下面的 RESTORE 命令:
RESTORE LABELONLY FROM TAPE = <name> WITH REWIND
通过查询 master 数据库中的 sysopentapes 表可以查找正在打开的磁带列表。
REWIND
指定 SQL Server 将释放磁带和倒带。如果 NOREWIND 和 REWIND 均未指定,则默认设置为 REWIND。
NOSKIP
指示 BACKUP 语句在可以重写媒体上的所有备份集之前先检查它们的过期日期。
SKIP
禁用备份集过期和名称检查,这些检查一般由 BACKUP 语句执行以防重写备份集。有关更多信息,请参见注释部分。
NOUNLOAD
指定不在备份后从磁带驱动器中自动卸载磁带。设置始终为 NOUNLOAD,直到指定 UNLOAD 为止。该选项只用于磁带设备。
UNLOAD
指定在备份完成后自动倒带并卸载磁带。启动新用户会话时其默认设置为 UNLOAD。该设置一直保持到用户指定了 NOUNLOAD 时为止。该选项只用于磁带设备。
RESTART
指定 SQL Server 重新启动一个被中断的备份操作。因为 RESTART 选项在备份操作被中断处重新启动该操作,所以它节省了时间。若要重新启动一个特定的备份操作,请重复整个 BACKUP 语句并且加入 RESTART 选项。不一定非要使用 RESTART 选项,但是它可以节省时间。
重要 该选项只用于导向磁带媒体的备份和跨越了多个磁带卷的备份。在备份的第一卷上永远不会有重新启动操作。
STATS [= percentage]
每当另一个 percentage 结束时显示一条消息,它被用于测量进度。如果省略 percentage,SQL Server 将每完成 10 个百分点显示一条消息。
<file_or_filegroup>
指定包含在数据库备份中的文件或文件组的逻辑名。可以指定多个文件或文件组。
FILE = { logical_file_name | @logical_file_name_var }
给一个或多个包含在数据库备份中的文件命名。
FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
给一个或多个包含在数据库备份中的文件组命名。
说明 当数据库的大小和性能要求使得进行完整数据库备份不切实际时,备份一个文件。若要单独备份事务日志,请使用 BACKUP LOG。
重要 必须通过使用 BACKUP LOG 提供事务日志的单独备份,才能使用文件和文件组备份来恢复数据库。有关文件备份的更多信息,请参见备份使用文件备份。
如果恢复模型为 SIMPLE,则不允许文件和文件组备份。
n
是一个占位符,表示可以指定多个文件和文件组。对文件或文件组的最大个数没有限制。