作為一名微軟SQL Server的管理員,您必須知道如何修復一個崩潰的主數(shù)據(jù)庫。主數(shù)據(jù)庫保存有您的登錄信息,以及最重要的、指向您所有數(shù)據(jù)庫的指針。如果沒有主數(shù)據(jù)庫,您就無法成功地啟動SQL Server。在本文里,我將向您介紹在發(fā)生崩潰的情況下如何修復主數(shù)據(jù)庫,并告訴您如何重建主數(shù)據(jù)庫,如果有必要的話。
制定預案
制定一個應對崩潰和/或主數(shù)據(jù)庫故障的預案十分重要。這將有助于您在碰到災難的情況下按照既定的方法進行處理,而不是迫于壓力倉促作出反應。我碰到過很多很容易就陷入驚慌的狀況,但是由于保持冷靜并按照正確的方法來處理問題,我最后成功地度過了所有的困境。
如何判斷主數(shù)據(jù)庫已經(jīng)崩潰
在正式開始討論碰到系統(tǒng)故障如何修復和重建的主數(shù)據(jù)庫之前,我們需要先了解如何辨別它已經(jīng)崩潰了。要說明這一點,我會弄垮一個主數(shù)據(jù)庫,告訴您主數(shù)據(jù)庫崩潰會發(fā)生什么樣的癥狀。
現(xiàn)在讓我們假設您的公司碰到了電涌,造成SQL Server重啟。在重新啟動的時候,SQL Server卻沒有正常啟動。如果查看錯誤日志,您會看到主數(shù)據(jù)庫崩潰或者丟失。既然您知道需要查看什么信息,那就讓我們看看如何修復主數(shù)據(jù)庫。
修復您的主數(shù)據(jù)庫
修復主數(shù)據(jù)庫的第一步是使用“重建向?qū)?Rebuild Wizard,Rebuildm.exe),它放在Program FilesMicrosoft SQL Server80ToolsBINN目錄下,F(xiàn)在就讓我們來看看重建向?qū)侨绾喂ぷ鞯摹?/P>
在這個對話框里,您可以指定數(shù)據(jù)庫服務器的修復設置,以及原始安裝的數(shù)據(jù)文件的位置。要讓這一過程更容易和更快,就要把x86目錄從SQL的光盤上復制到硬盤上,并把指向改到本地的副本。一旦驗證完了所有的信息,點擊“重建(Rebuild)”。然后系統(tǒng)就會提示您確認操作。
點擊“確定(Yes)”。一旦重建過程完成,您會看到一條重建成功的消息。您現(xiàn)在就有了一個全新的主數(shù)據(jù)庫,準備好修復主數(shù)據(jù)庫了。
首先,打開命令行提示符,輸入Program FilesMicrosoft SQL ServerMSSQLBINN目錄下的sqlservr.exe –c –m命令,啟動單用戶模式下的SQL Server。
在單用戶模式下啟動SQL Server之后,您可以利用備份文件修復主數(shù)據(jù)庫。您可以用“查詢分析器(Query Analyzer)”或者“SQL企業(yè)管理器(SQL Enterprise Manager)”來修復它。如果使用查詢分析器,您就要像圖E一樣運行查詢。
如果使用企業(yè)服務器,就要右擊主數(shù)據(jù)庫,選擇“所有任務|修復數(shù)據(jù)庫(All Tasks | Restore Database)”,瀏覽到您設備所在的位置。點擊兩次“OK”,您就可以成功地修復主數(shù)據(jù)庫了。修復完主數(shù)據(jù)庫,退出單用戶模式,在正常的操作模式下重新啟動SQL Server。
如果由于某種原因您的修復操作無法成功完成,那么您可以試試別的方法。只用簡單地重建主數(shù)據(jù)庫并添加駐留在數(shù)據(jù)目錄下的所有數(shù)據(jù)庫就可以了。您可以用企業(yè)管理器或者查詢分析器來添加數(shù)據(jù)庫。在企業(yè)管理器里,右擊“數(shù)據(jù)庫(Databases)”,選擇“添加數(shù)據(jù)庫(Attach Database)”,在查詢分析器里,用示例腳本就能夠添加您的數(shù)據(jù)庫了。
結(jié)束語
既然已經(jīng)知道了如何在碰到災難的情況下成功地重建主數(shù)據(jù)庫,那么您可以把這些技術(shù)增加到災難修復預案中去。這樣的話,您就不用再在SQL Server的主數(shù)據(jù)庫崩潰導致數(shù)據(jù)庫服務器停止工作的情況下不知所措了。
相關(guān)推薦:計算機等級考試經(jīng)驗:一個VFP優(yōu)秀者等考經(jīng)驗談北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |