从备份恢复数据库时出错

从备份恢复数据库时出错

我已经备份了我的 SQL Server 2005 数据库,我想将其放在我的开发机器上(比通过远程桌面编写查询进行开发要快得多。)

我能够在工作时的一台机器上恢复它,所以我知道备份是好的(嗯,我认为它是好的 - 我确实必须将它复制到外部硬盘上,然后再将它复制到我当前的机器上)。

我收到的错误是这样的:

标题:Microsoft SQL Server Management Studio


服务器“XPS17200911\SQL2005”还原失败。(Microsoft.SqlServer.SmoExtended)

如需帮助,请点击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1447.4+((KJ_RTM).100213-0103+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Restore+Server&LinkId=20476


附加信息:

System.Data.SqlClient.SqlError: 文件“C:\Program Files (x86)\Microsoft SQL Server\MSSQL.2\MSSQL\DATA\TDC.ndf”被“BankA_Tables02”(4) 和“BankA_Tables01”(3) 声明。WITH MOVE 子句可用于重新定位一个或多个文件。(Microsoft.SqlServer.Smo)

如需帮助,请点击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1447.4+((KJ_RTM).100213-0103+)&LinkId=20476

生成的 SQL 脚本(您知道我的意思)是这样的:

RESTORE DATABASE [TDC] FROM  DISK = N'C:\Users\Matt\Desktop\banka.bak' WITH  FILE = 1,  
MOVE N'BankA' TO N'C:\Program Files (x86)\Microsoft SQL Server\MSSQL.2\MSSQL\DATA\TDC.mdf',  
MOVE N'BankA_Tables01' TO N'C:\Program Files (x86)\Microsoft SQL Server\MSSQL.2\MSSQL\DATA\TDC.ndf',  
MOVE N'BankA_Tables02' TO N'C:\Program Files (x86)\Microsoft SQL Server\MSSQL.2\MSSQL\DATA\TDC.ndf',  
MOVE N'BankA_Tables03' TO N'C:\Program Files (x86)\Microsoft SQL Server\MSSQL.2\MSSQL\DATA\TDC.ndf',  
MOVE N'BankA_Log' TO N'C:\Program Files (x86)\Microsoft SQL Server\MSSQL.2\MSSQL\DATA\TDC.ldf',  
NOUNLOAD,  REPLACE,  STATS = 10
GO

我对其进行了一些格式化,但仅使用回车符。

我尝试用 Google 搜索这个垃圾,但具体文件名可能会搞砸它。此外,所有结果似乎都假设了一种简单的数据库格式(这个有 5 个文件,而不是像“普通”SQL Server 数据库那样只有 2 个文件),并且都处理了更改文件名的问题,而我并不知道思考这就是我的问题。

任何帮助将不胜感激。

答案1

它尝试将 3 个不同的文件恢复为相同的文件名。

将中间 3 个语句中的 3 个 TDC.ndf 名称更改为 TDC_01.ndf、TDC_02.ndf 和 TDC_03.ndf

相关内容