【发布时间】:2020-07-10 13:09:59
【问题描述】:
我在一个 bak 文件中有多个 mdf 文件,如何恢复数据库中的 bak 文件。
【问题讨论】:
标签: sql-server sql-server-2008 database-backups
我在一个 bak 文件中有多个 mdf 文件,如何恢复数据库中的 bak 文件。
【问题讨论】:
标签: sql-server sql-server-2008 database-backups
您可以运行该命令来查看您的 bak 文件的文件列表:
RESTORE FILELISTONLY FROM DISK ='<path>\<yourfile.bak>'
看到文件后,您可以构建一个类似的恢复命令(仅作为示例):
restore database [db_name] from disk = '<file>.bak'
with
move '<data_file_name>' to 'D:\MSSQL\Data\<file>.mdf',
move '<log_file_name>' to 'D:\MSSQL\Data\<file>.ldf'
【讨论】:
运行restore headeronly 列出文件(设备)中的备份集,然后运行restore filelistonly 以查看要恢复的备份集的详细信息,然后运行restore database 以选定的备份集为目标。
--create the backup file
backup database adventureworks2017 to disk='c:\temp\aw.bak' with format, init
--append some more backups to the file
backup database adventureworks2017 to disk='c:\temp\aw.bak'
backup database adventureworks2017 to disk='c:\temp\aw.bak'
restore headeronly from disk='c:\temp\aw.bak'
restore filelistonly from disk='c:\temp\aw.bak' with file=2
restore database adventureworks2017 from disk='c:\temp\aw.bak' with file=2
【讨论】: