2012-05-14 91 views
2

我收到SQL恢復錯誤,請幫助。System.Data.SqlClient.SqlError:數據庫中已經有一個名爲'sysnsobjs'的對象。 (Microsoft.SqlServer.Express.Smo)

我正在使用Managment工作室。我試圖恢復我的數據庫(比如說數據庫名稱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(服務器SRV) at 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.ExecutionManager.ExecuteNonQueryWithMessage(StringCollection查詢,ServerMessageEventHandler dbccMessageHandler,Boolean errorsAsMessages) at Microsoft.SqlServer.Management.Smo.BackupRestoreBase.ExecuteSql(Server server,StringCollection queries) 在Microsoft.SqlServer.Management.Smo.Restore.SqlRestore(服務器SRV

ODBC SQL server Driver ERROR There is a already an object named 'sysnobjs' in database

雖然恢復SQL Server 2000的用戶數據庫到SQL Server 2008 R2版本。

請讓我知道是否允許Microsoft SQL Server 2000數據庫備份並將其恢復到SQL Server 2008?

如果不是這樣,是否有解決此問題的方法?

+0

您可以向我們顯示您正在使用的SQL **命令嗎? –

+0

當您選擇'主'數據庫時,您是否嘗試使用Management Studio進行還原? – Steve

+0

編號我試圖恢復用戶數據庫採取備份從2000年至2008年使用管理工作室 –

回答

0

在選項中,當您在選擇要還原備份的位置的框中時,請選擇覆蓋現有數據庫選項。那應該擺脫那個錯誤並且允許您恢復那個備份。

0

在常規選項卡中選擇要還原的備份文件後,轉到選項選項卡。

選擇「覆蓋現有數據庫(改爲)」

然後,在「將數據庫文件還原爲:」表,轉至[還原爲]柱

請注意,在該字符串第一行(對於數據)和第二行(對於圖像)中的字符串完全相同。這會導致一些錯誤。

改變字符串的第一行到別的東西(如添加日期)中,例如

C:................ \ YourFileName.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 

你也可能需要切換運行以下腳本Filestreaming上:

EXEC sp_configure filestream_access_level, 2 RECONFIGURE 

重新啓動服務器:

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

右鍵單擊服務器,然後選擇重新啓動

相關問題