运行 sql server 2005 我有数据库 A。我正在尝试从 A 的备份恢复到数据库 B。我想保留数据库 A 并从以前的一组数据创建一个新的测试数据库 B。
我尝试创建 B 并从 .bak 恢复并将数据库从管理工作室恢复到 B。
错误是...
标题:Microsoft SQL Server 管理
工作室
服务器“195448-APP2”的恢复失败。(Microsoft.SqlServer.Smo)
- - - - - - - - - - - - - - - 附加信息:
System.Data.SqlClient.SqlError:备份集包含一个数据库的备份,而不是现有的“B”数据库。(Microsoft.SqlServer.Smo)
如需帮助,请单击: http: //go.microsoft.com/fwlink ?ProdName=Microsoft+SQL+Server&ProdVer=9.00.1399.00&LinkId=20476
- - - - - - - - - - - - - - - 纽扣:
好的
我发现了这个我犹豫使用的片段,并想问它是否可以解决我在恢复数据库过程中更改 mdf 和 ldf 位置的问题,还是完全替换数据库 A 的项目。
ALTER DATABASE AdventureWorks
SET SINGLE_USER WITH
ROLLBACK IMMEDIATE
RESTORE DATABASE AdventureWorks
FROM DISK = 'C\:BackupAdventureworks.bak'
WITH MOVE 'AdventureWorks_Data' TO 'C:\Data\datafile.mdf',
MOVE 'AdventureWorks_Log' TO 'C:\Data\logfile.ldf',
REPLACE
对我来说,我会做到的......
RESTORE DATABASE B
FROM DISK = 'C:\backupofA.bak'
WITH
MOVE 'B' TO 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\B.mdf',
MOVE 'B_log' to 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\B_log.ldf',
REPLACE
我不知道它是否会影响数据库 A。我希望替换引用与 B 关联的文件。
或者如果应该
RESTORE DATABASE B
FROM DISK = 'C:\backupofA.bak'
WITH
MOVE 'A' TO 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\B.mdf',
MOVE 'A_log' to 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\B_log.ldf',
REPLACE
如果有人可以帮助我解决错误和/或确认此修复,我将非常感激,因为它不是我正在使用的数据库。
谢谢。