INF:繞道 (緊急) 模式與 DUMP TRANSACTION WITH NO_LOG

文章翻譯 文章翻譯
文章編號: 165918 - 檢視此文章適用的產品。
本文曾發行於 CHT165918
全部展開 | 全部摺疊

結論

若資料庫啟動時發生修復失敗的狀況,它可能會被標示成 SUSPECT,但這種狀況並不常發生。通常它會讓所有使用者都無法存取資料。但您可以自行將 SUSPECT 資料庫的狀態設成「繞道模式」(亦稱「緊急模式」),並選取 (SELECT) 或使用大量複製程式 (BCP) 將資料複製出來。雖然在繞道模式下無法進行一般的資料修改,但仍然可以執行 DUMP TRANSACTION WITH NO_LOG。請注意,系統並不支援在繞道模式下進行這項作業,因此有潛在的風險。

若啟動復原費時甚久,請勿中斷,不要將資料庫設成繞道模式,也不要執行 DUMP TRANSACTION WITH NO_LOG,理由同上。

其他相關資訊

DUMP TRANSACTION 執行的所有動作通常都會被記錄下來,因此可以復原及中止。但是記錄檔的空間會被 DUMP 命令本身消耗掉。如果異動記錄檔很滿,剩餘空間不夠執行 DUMP TRANSACTION 記錄的話,選擇 WITH NO_LOG 選項可以不寫入異動記錄檔,將其截斷。

相對來說,在正常情況下 DUMP TRANSACTION WITH NO_LOG 是比較安全的方法。伺服器會採取必要的措施,以確定即使在進行這項作業時伺服器失效,復原仍舊可以成功。

在極少數的情況下,自動修復 (亦稱「啟動修復」) 可能會失敗,使得資料庫被標示成 SUSPECT。修復會因某些特別原因而失敗。請務必記下一開始使得修復失效的錯誤記錄檔訊息,因為它對診斷原因非常有幫助。

「修復」是藉由重做或還原前一個檢查點以後所啟動或當時未確認的所有異動,使得資料庫一致的處理過程。這個處理過程必須倚賴異動記錄檔的預先寫入特性 (所有修改過的頁面會先寫入記錄檔,再寫入資料庫)。修復包括了讀取每一筆記錄,比較其時間戳記與對應的資料庫分頁的戳記,然後還原變更 (若異動尚未認可) 或重做變更 (若異動已認可)。

記下造成修復失敗的錯誤記錄檔訊息之後,請試著將資料庫狀態設回 NORMAL,然後重新啟動 SQL Server,看這一次能否修復成功。sp_resetstatus 這個預存程序可以讓您變更資料庫狀態。這是一個補充的預存程序,可從 Mssql\Install 目錄的 Instsupl.sql 指令檔安裝。如需詳細資訊,請參閱線上文件的〈Resetting the Suspect Status〉(重設可疑狀態)。

如果第二次修復仍然失敗,請記下錯誤訊息,連絡提供支援的廠商。同時也請確認是否可取得前一次完整的資料庫備份,因為它可能派得上用場。雖然資料庫中的資料仍舊存在,但是實際上卻已經不一致。若要存取這些資料,可將資料庫狀態設為繞道模式,即緊急模式。請先開啟「allow updates」(允許更新),再將資料庫的 sysdatabases.status 設為 -32768。例如,使用下列命令:
UPDATE SYSDATABASES SET STATUS=-32768 WHERE NAME='DBNAME'

完成後即可進入資料庫並選取 (SELECT) 資料或使用 BCP 將它複製出來。執行這個程序時您可能會遇到錯誤,但在多數情況下,資料大多都可以擷取出來。

?考

本文件是根據 Microsoft Knowledgebase 文件編號 Q165918 翻譯的。若要參考原始英文文件內容,請至以下網址:

http://support.microsoft.com/support/kb/articles/Q165/9/18.asp

屬性

文章編號: 165918 - 上次校閱: 2004年1月21日 - 版次: 1.0
這篇文章中的資訊適用於:
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 4.21a Standard Edition
  • Microsoft SQL Server 6.0 Standard Edition
  • Microsoft SQL Server 6.5 Standard Edition
關鍵字:?
kbinfo kbusage KB165918
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com