19

我正在尝试恢复数据库备份但出现错误:

服务器“ASIF-VAIO”的恢复失败。(Microsoft.SqlServer.SmoExtended)

附加信息:

System.Data.SqlClient.SqlError:文件“C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\uwa.mdf”由“Aston_Fresh_log”(2)和“Aston_Fresh”(1)声明。WITH MOVE 子句可用于重定位一个或多个文件。(Microsoft.SqlServer.Smo)

4

7 回答 7

28

恢复时,您需要确保

  • 选择一个尚不存在的新数据库名称(除非您想覆盖该预先存在的数据库)

在此处输入图像描述

  • 您勾选Overwrite选项卡页面中的选项并为and文件Options定义有效的新文件名,这样您就不会意外覆盖系统上的另一个数据库:.mdf.ldf

在此处输入图像描述

于 2013-02-19T09:42:35.603 回答
5

这篇文章有一些很好的答案,但我不相信我的解决方案在这里涵盖,或者我不理解答案/评论。

但是,当我遇到此错误时,我正在使用 2 个索引(主索引和索引)还原数据库。问题是,在恢复时它创建了两个 .ndf 文件,每个索引一个,但将它们命名为相同的东西。

所以基本上我有两个“恢复为”文件恢复到“D:\MSSQLDATA\DatabaseName.ndf。

为了克服这个问题,我必须更改其中一个文件名,例如我更改了

 Index      |    D:\MSSQLDATA\DatabaseName.ndf
 Primary    |    D:\MSSQLDATA\DatabaseName1.ndf

拥有唯一的文件名为我解决了这个问题。

于 2015-02-13T17:58:33.310 回答
3

这对我有用:为脚本部分中的每个 MDF 和 LDF 文件赋予不同的名称。

MOVE N'R_Data' 
  TO N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\Build51_Testing_db1.mdf',

MOVE N'R_audit' 
  TO N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\Build51_Testing_db2.mdf', 

ETC...

最初由 Alberto Morillo 建议

于 2013-11-28T13:40:06.570 回答
1

我知道距离上一个答案已经很久了,但我碰巧在谷歌搜索这个问题的解决方案。它为我做了什么,是编写恢复脚本(更改文件名并没有解决问题)并手动更改代码中的文件名

RESTORE DATABASE [DB_NAME] 
FILE = N'[name]',  
FILE = N'[name1]',
FILE = N'[name2]' 
FROM  DISK = N'[file_path]' 
WITH  FILE = 1m
MOVE N'[name]' TO N'D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\\[name].mdf',
MOVE N'[name1]' TO N'D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\\[name1].mdf',
MOVE N'[name2]' TO N'D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\\[name2].mdf',
MOVE N'[logname]' TO N'D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\\[logname].ldf'
NOUNLOAD,
REPLACE,
STATS = 10
GO

问候

于 2017-09-15T13:00:47.880 回答
0

就我而言,我的文件夹中已经有一个.mdfand.ldf文件\DATA,所以我必须创建两个新文件:

New-Item C:\path\to\sql\DATA\NewDatabase.mdf
New-Item C:\path\to\sql\DATA\NewDatabase_log.ldf

然后在 SQL 管理器中,您需要在恢复数据库时选择那些新文件。

于 2020-06-17T21:41:17.747 回答
0

如果您遇到此问题并且不是上述问题,请尝试在“还原选项”>“文件”下,选中“将所有文件重新定位到文件夹”复选框。

在此处输入图像描述

于 2017-11-27T16:20:14.180 回答
0

就我而言,数据库有 2 个 mdf 文件。错误来了,因为我试图将两个 mdf 文件恢复为同名。

只需在“还原为”下重命名第二个 mdf 文件。

在此处输入图像描述

于 2021-10-18T10:23:11.413 回答