从备份还原数据库时出错

Mat*_*wdy 4 sql-server database-restore

我有我的 SQL Server 2005 数据库的备份,我想把它放在我的开发机器上(开发速度比通过远程桌面编写查询快得多。)

我能够在工作中的一台机器上恢复它,所以我知道备份是好的(好吧,我假设它是 - 我确实必须将它复制到外部硬盘驱动器,然后再将它复制到我当前的机器上) .

我得到的错误是这样的:

标题:Microsoft SQL Server 管理工作室


服务器“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
Run Code Online (Sandbox Code Playgroud)

我格式化了一点,但只有回车。

我试图用谷歌搜索这个傻瓜,但具体的文件名可能会搞砸。此外,所有结果似乎都假设了一种简单的数据库格式(这个有 5 个文件,而不是像“普通”SQL Server 数据库那样只有 2 个文件)并且所有结果都涉及更改文件名,我认为这不是我的问题。

任何帮助将不胜感激。

Mar*_*son 5

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

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