iT邦幫忙

DAY 19
8

微軟KB經驗談系列 第 19

將SQL 2000資料庫回存到SQL 2005出現錯訊

將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即可。


上一篇
刪除不存在的硬體裝置
下一篇
如何將SQL 2005 Express版本升級到標準版或企業版
系列文
微軟KB經驗談30

尚未有邦友留言

立即登入留言