徵狀
請試想下列案例:
-
您有 Microsoft SQL Server 記錄傳送或備份/還原設定兩部伺服器之間。
-
主要的資料庫已經有"位元組每個實體磁區 」 設定為 512 個位元組的磁碟上儲存其交易記錄檔 (.ldf)。
-
您採取交易記錄檔備份的資料庫,並再嘗試使用 [待命] 選項為次要資料庫還原。
-
次要資料庫的交易記錄檔 (.ldf) 位於磁碟具有"位元組每個實體磁區 」 設定為 4096 位元組。
在這個案例中,還原作業會失敗,並且傳回下列錯誤訊息:
錯誤: 9004,高的嚴重性等級: 16,狀態: 6。 處理資料庫的資料庫名稱的記錄檔時發生錯誤。可能的話,請從備份還原。如果無法使用備份,則可能必須重建記錄檔。
會發生此錯誤之後,次要資料庫就會進入可疑的狀態。
解決方案
累積更新
下列的累積更新的 SQL Server,已先修正這個問題:
注意安裝這個更新之後,您必須啟用追蹤旗標 3057,才能啟用此修正程式。若要啟用追蹤旗標 3057,請參閱 Microsoft 開發人員網路 (MSDN) 網站上的追蹤旗標 (考慮改用 SQL)主題。
每個新的累積更新的 SQL Server 會包含所有的 hotfix 與安全性修正程式隨附於先前的累積更新。SQL Server 的檢視最新的累積更新:
附註針對 SQL Server 2008 R2 SP3 的執行個體,您需要將伺服器升級至可在最新的安全性更新:
下載安全性更新程式,SQL Server 2008 R2 SP3 的
SQL Server 2008 R2 SP2 的 Hotfix支援的 hotfix 可從 Microsoft 取得。不過,此 Hotfix 僅用於修正本文中所述的問題。此 Hotfix 只適用於發生此特定問題的系統上。如果 Hotfix 可供下載,在此知識庫文件頂端將出現<有可用的 Hotfix 供您下載>區段。如果這個區段不會出現,將要求提交給 Microsoft 客戶服務及支援取得 Hotfix。注意如果發生其他問題,或如果需要進行疑難排解,您可能必須建立個別的服務要求。收取支援費用會套用到其他支援問題和此特定 hotfix 無法解決的問題。如 Microsoft 客戶服務及支援的電話號碼或建立個別的服務要求的完整清單,請造訪下列 Microsoft 網站:
http://support.microsoft.com/contactus/?ws=support注意「 可下載 Hotfix 」表單會顯示 hotfix 可用的語言。如果看不到您的語言,是因為未提供該語言的 Hotfix 。
因應措施
Microsoft 已確認這是<套用>一節所列出的 Microsoft 產品的問題。若要解決這個問題,請使用下列解決方法之一:
-
移動到目的端的交易記錄檔,以具有"位元組每個實體磁區 」 設定為 512 個位元組的磁碟機。注意待命檔案仍位於"位元組每個實體磁區 」 設定為 4096 個位元組的磁碟機。
-
還原記錄檔備份,而不需使用 [待命] 選項。而不是 [待命] 選項中,使用與 NORECOVERY 選項還原作業期間。
其他相關資訊
您可以使用Fsutil 命令列公用程式來判斷 「 位元組每個實體磁區 」 值。如果這個參數不是在輸出中的 [看得見的您必須套用 hotfix KB982018中所指定。若要確認您擁有的磁碟機的類型,請依照下列步驟執行:
-
在提高權限的命令提示字元執行下列命令:Fsutil fsinfo ntfsinfo x : 注意這個命令中, < x >代表要檢查的磁碟機。
-
若要判斷您擁有的磁碟機的類型中使用"位元組每個磁區 」 及 「 位元組每個實體磁區 」 的值。若要這樣做,請使用下表。
「 每個磁區位元組 」 值
「 每個實體磁區位元組 」 值
磁碟機類型
4096
4096
原生 4k
512
4096
進階的格式 (也稱為 512E)
512
512
512 位元原生