mar*_*ark 5 sql-server backup restore
假设我有一个名为 SQL Server 的数据库bubu
,并且相应的备份文件是bubu.bak
.
如果我想使用自定义位置的后备存储恢复它,我使用以下 T-SQL 语句:
RESTORE DATABASE "bubu2" FROM DISK = N'C:\bubu.bak' WITH REPLACE, STATS = 10,
MOVE N'bubu' TO N'C:\custom\bubu.mdf', MOVE N'bubu_log' TO N'C:\custom\bubu.LDF'
Run Code Online (Sandbox Code Playgroud)
所以我有一个新的数据库bubu2
,它恰好是bubu
. 这里重要的是我假设备份包含逻辑文件bubu
和bubu_log
,因为备份文件名为bubu.bak
.
现在,假如有人重命名bubu.bak
来mumu.bak
。这样做,打破了我的逻辑,因为现在我将尝试这个 T-SQL 语句:
RESTORE DATABASE "mumu2" FROM DISK = N'C:\mumu.bak' WITH REPLACE, STATS = 10,
MOVE N'mumu' TO N'C:\custom\mumu.mdf', MOVE N'mumu_log' TO N'C:\custom\mumu.LDF'
Run Code Online (Sandbox Code Playgroud)
当然,我失败了,因为mumu.bak
不包含逻辑文件mumu
并且mumu_log
- 重命名备份文件不会重命名备份中包含的逻辑文件(当然)。
但是,如果备份文件被重命名,我该怎么做?
您可以使用filelistonly选项来检索备份中的文件名:
restore filelistonly from disk='c:\mumu.bak'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
529 次 |
最近记录: |