Sun*_*eni 21 sql-server backup restore sql-server-2012
最近在遇到恢复数据库的脚本时,我对为什么必须使用“ FILE = 1 ”产生疑问?没有那个语句我们就不能恢复数据库吗!?基本上,它是用来做什么的?
Sol*_*zky 28
您可以在一个备份文件(即设备)中保存多个备份。FILE当文件中有多个可供选择时,该子句允许您访问特定的备份操作.bak。
有关RESTORE命令的各种选项的更多信息,请参阅以下有关RESTORE Arguments 的Microsoft 文档。
如果您查看备份集选项部分(在语法说明中),您会发现:
FILE ={ backup_set_file_number | @ backup_set_file_number }
标识要恢复的备份集。例如,backup_set_file_number为1表示备份介质上的第一个备份集,backup_set_file_number为2表示第二个备份集。可以使用RESTORE HEADERONLY 语句获取备份集的backup_set_file_number。
未指定时,默认值为 1,但 RESTORE HEADERONLY 除外,在这种情况下,将处理媒体集中的所有备份集。有关详细信息,请参阅本主题后面的“指定备份集”。
重要
此 FILE 选项与用于指定数据库文件的 FILE 选项无关,FILE = { logical_file_name_in_backup | @ logical_file_name_in_backup_var }。
是的,你应该能在没有恢复FILE = 1的1是默认的反正。而且,如果您的备份文件中只有一个备份集,那么它应该不会造成问题。
到帮助一个例子示出了当你可以使用FILE选项是以下内容,这是实施例B从RESTORE命令文档页面(上面链接)。它显示了从单个备份文件进行两次还原:第一个RESTORE是完整备份,第二个RESTORE是 DIFFerential 备份。
RESTORE DATABASE AdventureWorks2012
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'
WITH FILE = 6
NORECOVERY;
RESTORE DATABASE AdventureWorks2012
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'
WITH FILE = 9
RECOVERY;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19089 次 |
| 最近记录: |