2

我收到 SQL 恢复错误,请帮忙。

我正在使用管理工作室。我试图恢复我的数据库(例如数据库名称 XYZ)从 SQL 2000 服务器备份并尝试恢复到 2008 R2 数据库 XYZ。恢复失败期间的确切错误字符串是

服务器“MACHINENAME\INSTANCENAME”的还原失败。(Microsoft.SqlServer.SmoExtended)


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


节目地点:

在 Microsoft.SqlServer.Management.Smo.Restore.SqlRestore(Server srv) 在 Microsoft.SqlServer.Management.SqlManagerUI.SqlRestoreDatabaseOptions.RunRestore()

====================================

System.Data.SqlClient.SqlError:数据库中已经有一个名为“sysnsobjs”的对象。(Microsoft.SqlServer.Smo)


如需帮助,请单击: http: //go.microsoft.com/fwlink ?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1617.0+((KJ_RTM_GDR).110422-1125+)&LinkId=20476


节目地点:

在 Microsoft.SqlServer.Management.Smo.BackupRestoreBase.ExecuteSql(服务器服务器,StringCollection 查询)在 Microsoft.SqlServer.Management.Smo 的 Microsoft.SqlServer.Management.Smo.ExecutionManager.ExecuteNonQueryWithMessage(StringCollection 查询,ServerMessageEventHandler dbccMessageHandler,布尔错误AsMessages)。 Restore.SqlRestore(服务器 srv

ODBC SQL 服务器驱动程序错误 数据库中已经有一个名为“sysnobjs”的对象

在将 SQL Server 2000 用户数据库恢复到 SQL Server 2008 R2 版本时。

请让我知道是否允许 Microsoft SQL Server 2000 数据库备份并将其还原到 SQL Server 2008?

如果不是这样,是否有解决此问题的方法?

4

2 回答 2

0

在选项中,当您在选择要还原备份的位置的框中时,选择覆盖现有数据库选项。那应该可以消除该错误并允许您恢复该备份。

于 2012-08-22T19:08:40.067 回答
0

在常规选项卡中选择要恢复的备份文件后,转到选项选项卡。

选择“Överwrite the existing database (WITH REPLACE)”

然后,在“将数据库文件还原为:”表中,转到[还原为]列

请注意,第一行中的字符串(用于数据)和第二行中的字符串(用于图像)完全相同。这会导致一些错误。

例如,将第一行中的字符串更改为其他内容(例如添加日期)

C:.................\你的文件名.mdf

C:................\YourFileName20151124.mdf

问题解决了

这是我的完整脚本:

RESTORE DATABASE [Makhado_Indigents] FROM  DISK = N'C:\IndiCheck\Makhado_Indigents.bak' 
WITH  FILE = 1,  MOVE N'New_Indigents' 
TO N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.INDICHECK\MSSQL\DATA\Makhado_Indigents.mdf',  
MOVE N'New_Indigents_Images' 
TO N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.INDICHECK\MSSQL\DATA\Makhado_Indigents1.mdf',  
MOVE N'New_Indigents_log' 
TO N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.INDICHECK\MSSQL\DATA\Makhado_Indigents.ldf',  
MOVE N'New_Indigents_Docs' 
TO N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.INDICHECK\MSSQL\DATA\Makhado_Indigents.New_Indigents_Docs',  
NOUNLOAD,  REPLACE,  STATS = 10
GO

您可能还需要通过运行以下脚本来打开文件流:

EXEC sp_configure filestream_access_level, 2 RECONFIGURE

重启服务器:

开始 > 所有程序 > Microsoft SQL Server 2008 R2 > 配置工具 > SQL Server 配置管理器

右键单击服务器并选择重新启动

于 2015-11-19T08:59:28.337 回答