Answers:
如果还原数据库,则默认情况下,SQL Server将尝试将所有数据和日志文件还原到其原始位置。由于这些原始位置仍由原始数据库(“ A”)使用,因此还原失败。您需要使用WITH MOVE子句为数据库中的所有文件指定新位置。
RESTORE DATABASE B FROM DISK = 'A.bak'
WITH MOVE 'DataFileLogicalName' TO 'C:\SQL Directory\DATA\B.mdf',
MOVE 'LogFileLogicalName' TO 'C:\SQL Directory\DATA\B.ldf',
REPLACE --Needed if database B already exists
反正就是这样。如有必要,使用RESTORE FILELISTONLY FROM DISK ...查看备份中的逻辑文件名。