2012-04-10 380 views
16

我有SQL Server 2008 R2中的數據庫備份。 當我想將此備份還原到SQL Server時,出現此錯誤: 「錯誤:指定的轉換無效(SqlManagerUI)」 如何解決此錯誤? 謝謝。錯誤:指定的轉換無效。 (SqlManagerUI)

+0

WITH MOVE' 'YourMDFLogicalName' TO 'd:\ DataYourMDFFile.mdf',' - 調整路徑 MOVE' 'YourLDFLogicalName' TO「d:\ DataYourLDFFile.ldf'' MDF LDF – 2013-01-25 10:20:23

回答

12

有一些funnies通過傢伙將舊數據庫還原到SQL 2008中;你有沒有試過通過TSQL做到這一點?

Use Master 
Go 
RESTORE DATABASE YourDB 
FROM DISK = 'C:\YourBackUpFile.bak' 
WITH MOVE 'YourMDFLogicalName' TO 'D:\Data\YourMDFFile.mdf',--check and adjust path 
MOVE 'YourLDFLogicalName' TO 'D:\Data\YourLDFFile.ldf' 
+2

是什麼YourLDFLogicalName? – coure2011 2012-06-19 07:10:12

+0

SQL Server中文件的名稱。在管理STudio;打開查詢;使用您正在處理的數據庫備份運行選擇名稱從sys文件名稱列。 – u07ch 2012-06-20 06:37:27

+1

對於像我這樣的noobs。 u07ch的評論是正確的,但在查詢中包含一個錯字: 從sysfiles中選擇名稱 – 2013-09-30 06:50:35

17

當您嘗試在較舊的SQL數據庫中恢復較新版本的備份時,也會發生這種情況。例如,當您嘗試還原在2012年創建的具有110兼容性的數據庫備份並且您試圖在2008 R2中恢復它時。

+1

您是否有解決方案? – 2015-11-24 22:16:52

4

有時候會發生這種情況,因爲版本更改就像2008年的商店2012分貝,所以如何檢查它?

RESTORE VERIFYONLY FROM DISK = N'd:\yourbackup.bak' 

如果它給出錯誤等:

消息3241,級別16,狀態13,行2 媒體家族設備 'd:\ alibaba.bak' 被不正確地形成。 SQL Server無法處理此媒體系列。 消息3013,級別16,狀態1,行2 VERIFY DATABASE正在異常終止。

進一步檢查它:

RESTORE HEADERONLY FROM DISK = N'd:\yourbackup.bak' 

BackupName是 「* INCOMPLETE *」, 位置爲 「1」, 等領域都是 「NULL」。

意味着您的備份已損壞或從新版本中刪除。

0

我有一個類似的錯誤 「指定的轉換是無效」 從SQL Server 2012還原到SQL Server 2008 R2

首先,我得到了MDF和LDF名稱:

RESTORE FILELISTONLY 
FROM DISK = N'C:\Users\dell laptop\DotNetSandBox\DBBackups\Davincis3.bak' 
GO 

其次,我與恢復一個移動使用這些名稱返回:

RESTORE DATABASE Davincis3 
FROM DISK = 'C:\Users\dell laptop\DotNetSandBox\DBBackups\Davincis3.bak' 
WITH 
    MOVE 'JQueryExampleDb' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\Davincis3.mdf', 
    MOVE 'JQueryExampleDB_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\Davincis3.ldf', 
REPLACE 
GO 

我不知道名稱「JQueryExampleDb」,但這對我有效。

儘管如此,備份(和數據庫)不能向後兼容舊版本。

相關問題