我制作了一个脚本来恢复 .bak 或备份文件。它适用于某些数据库,但不适用于一个。如何使它适用于任何类型的 .bak 文件?这是在 sql server 2008 中。错误消息是 -
Msg 3234, Level 16, State 1, Line 1
Logical file 'Northwind_Data' is not part of database 'Northwind'.
Use RESTORE FILELISTONLY to list the logical file names.
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.
脚本 -
IF DB_ID('Northwind') IS NULL
BEGIN
RESTORE DATABASE [Northwind]
FILE = N'Northwind_Data'
FROM
DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SS2008\MSSQL\Backup\Northwind.bak'
WITH FILE = 1,
MOVE N'Northwind_Data'
TO N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SS2008\MSSQL\DATA\Northwind.mdf',
MOVE N'Northwind_Log'
TO N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SS2008\MSSQL\DATA\Northwind_0.LDF',
NOUNLOAD, STATS = 10
END
原文由 Steam 发布,翻译遵循 CC BY-SA 4.0 许可协议
这个问题可能太老了,但我希望这个答案可以帮助别人。我今天遇到了一种情况,我必须从 Windows 环境创建备份并将其导入 macOS 上的 docker 容器中。
一旦你有了
.bak
文件,你只需要执行以下 2 个步骤,你的备份应该就可以导入了。.bak
文件中获取LogicalName
:Move
关键字之后替换 LogicalName(单引号)第 1 步的功劳归于@Saurabh Sinha。