本文介紹如何緊急恢復SQL Server主數據庫,這樣就不用再在SQL Server的主數據庫崩潰導致數據庫服務器停止工作的情況下不知所措了。
如果主數據庫發生故障,那麼微軟的SQL Server可能會怦然倒下。看看如何面對這種事件,了解如何用企業管理器和查詢分析器修復主數據庫。
作為一名微軟SQL Server的管理員,您必須知道如何修復一個崩潰的主數據庫。主數據庫保存有您的登錄信息,以及最重要的、指向您所有數據庫的指針。如果沒有主數據庫,您就無法成功地啟動SQL Server。在本文裡,我將向您介紹在發生崩潰的情況下如何修復主數據庫,並告訴您如何重建主數據庫,如果有必要的話。
制定預案
制定一個應對崩潰和/或主數據庫故障的預案十分重要。這將有助於您在碰到災難的情況下按照既定的方法進行處理,而不是迫於壓力倉促作出反應。我碰到過很多很容易就陷入驚慌的狀況,但是由於保持冷靜並按照正確的方法來處理問題,我最後成功地度過了所有的困境。
怎麼才能知道您的主數據庫已經崩潰?
在正式開始討論碰到系統故障如何修復和重建的主數據庫之前,我們需要先了解如何辨別它已經崩潰了。要說明這一點,我會弄垮一個主數據庫,告訴您主數據庫崩潰會發生什麼樣的症狀。
現在讓我們假設您的公司碰到了電湧,造成SQL Server重啟。在重新啟動的時候,SQL Server卻沒有正常啟動。如果查看錯誤日志(圖A),您會看到主數據庫崩潰或者丟失。既然您知道需要查看什麼信息,那就讓我們看看如何修復主數據庫。
圖A
修復您的主數據庫
修復主數據庫的第一步是使用“重建向導(Rebuild Wizard,Rebuildm.exe),它放在Program FilesMicrosoft SQL Server80ToolsBINN目錄下。現在就讓我們來看看重建向導是如何工作的。
雙擊Rebuildm.exe啟動圖B所示的對話框。
圖B
在這個對話框裡,您可以指定數據庫服務器的修復設置,以及原始安裝的數據文件的位置。要讓這一過程更容易和更快,就要把x86目錄從SQL的光盤上復制到硬盤上,並把指向改到本地的副本。一旦驗證完了所有的信息,點擊“重建(Rebuild)”。然後系統就會提示您確認操作,如圖C所示。
圖C
點擊“確定(Yes)”。一旦重建過程完成,您會看到一條重建成功的消息。您現在就有了一個全新的主數據庫,准備好修復主數據庫了。
首先,打開命令行提示符,輸入Program FilesMicrosoft SQL ServerMSSQLBINN目錄下的sqlservr.exe –c –m命令,啟動單用戶模式下的SQL Server。結果如圖D所示。
圖D
在單用戶模式下啟動SQL Server之後,您可以利用備份文件修復主數據庫。您可以用“查詢分析器(Query Analyzer)”或者“SQL企業管理器(SQL Enterprise Manager)”來修復它。如果使用查詢分析器,您就要像圖E一樣運行查詢。
圖E
如果使用企業服務器,就要右擊主數據庫,選擇“所有任務|修復數據庫(All Tasks | Restore Database)”,浏覽到您設備所在的位置,如圖F所示。點擊兩次“OK”,您就可以成功地修復主數據庫了。
圖F
修復完主數據庫,退出單用戶模式,在正常的操作模式下重新啟動SQL Server。
如果由於某種原因您的修復操作無法成功完成,那麼您可以試試別的方法。只用簡單地重建主數據庫並添加駐留在數據目錄下的所有數據庫就可以了。您可以用企業管理器或者查詢分析器來添加數據庫。在企業管理器裡,右擊“數據庫(Databases)”,選擇“添加數據庫(Attach Database)”,如圖G所示。圖G
結束語
既然已經知道了如何在碰到災難的情況下成功地重建主數據庫,那麼您可以把這些技術增加到災難修復預案中去。這樣的話,您就不用再在SQL Server的主數據庫崩潰導致數據庫服務器停止工作的情況下不知所措了。