將SQL 2000資料庫回存到SQL 2005出現下列錯誤訊息

已處理資料庫 'SH' 的 15968 頁,檔案 1 上的檔案 'Custom_Data'。 

已處理資料庫 'SH' 的 1 頁,檔案 1 上的檔案 'Custom_Log'。 

RESTORE DATABASE 已於 36.664 秒內成功處理了 15969 頁 (3.567 MB/sec)。 

訊息 4038,層級 16,狀態 1,行 4 

在裝置 'c:\Custom.bak' 上找不到檔案識別碼 2。 

訊息 3013,層級 16,狀態 1,行 4 

RESTORE LOG 正在異常結束。

 

解決步驟:

查詢Custom資料庫回存是否成功 

use master 

SELECT * FROM Custom..sysfiles 

SELECT * FROM master..sysaltfiles WHERE dbid= DB_ID('Custom') 

GO 

錯誤訊息: 

訊息 927,層級 14,狀態 2,行 2 

資料庫 'Custom' 無法開啟。它目前正在還原當中

 

由於出現無法回存LOG,因此改執行下列指令(將NORECOVERY改為RECOVERY,如此資料庫才能使用) 

RESTORE DATABASE SH FROM DISK = 'c:\Custom.bak' WITH FILE = 1 , RECOVERY , 

MOVE 'Custom_Data' TO 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\Custom.mdf', 

MOVE 'Custom_Log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\Custom.ldf' 

GO 

 

再次執行下列指令查看資料庫回存是否成功 

use master 

SELECT * FROM Custom..sysfiles 

SELECT * FROM master..sysaltfiles WHERE dbid= DB_ID('Custom') 

GO 

顯示: 

邏輯名稱為Custom_Data and Custom_Log 

原來有一個資料庫Customer的邏輯名稱也是Custom_Data and Custom_Log

由於邏輯名稱都是Custom_Data and Custom_Log 因此必須變更邏輯名稱: 

執行SQL Server Management Studio點選Customer資料庫,按右鍵選屬性,選擇檔案,將name Custom_Data 改為Customer_Data;Custom_Log 改為Customer_Log即可。

參考資料:http://support.microsoft.com/kb/817089/zh-tw

創作者介紹

星際吉羊

jack 發表在 痞客邦 PIXNET 留言(0) 人氣()