天天看點

SQL Server 2005系統資料庫master重建、修複(轉)

在用SQL Server 2005進行一項測試:如何一次删除所有使用者資料庫時,沒注意到目前資料庫是master,結果,把這裡的一些表都給删除了,進而,資料庫引擎可以正常使用,但如果右擊任一資料庫,都會出現查找master裡的一個表的操作(對象名 master.dbo.spt_values' 無效。 (Microsoft SQL Server,錯誤: 208)),而這個表被我删除了,是以就運作不成功了,想壓縮資料庫還行用SQL語句,很麻煩。

在網上找的大都是SQL Server 2000 master資料庫重建文章,關于SQL Server 2005 重建master的文章基本上都是隻有提問的,沒有回答的,于是在國外網站上搜尋了下,發現一個,但也很不好使,後來順着他的關鍵詞:rebuid sql Server 2005 master找到了微軟的網站,沒想到微軟早就解決這問題了,按他說的做了一遍,OK,成功,在寫這文章時又把他的MSDN位址改了下,看看有沒有中文版的,沒想到還真有,可憐的搜尋引擎呀,這麼好的東西我怎麼在baidu及google裡都找不到呢。

雖然問題是解決了,不過還有一個問題,就是:重建後相當于資料庫重新安裝了一次,所有的登入使用者,資料庫都沒了(聽說資料都在master裡,master被重建了裡面的資料庫相關資訊當然沒了。資料庫檔案還在,沒被删除。),是以重建或者說修複好後,你還得把每個資料庫都附加進來,并建相關使用者。

微軟官方解決方法:

start /wait <CD or DVD Drive>\setup.exe /qn INSTANCENAME=<InstanceName> REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=<NewStrongPassword>

舉例:

start /wait L:\Servers\setup.exe /qn INSTANCENAME="MSSQLSERVER" REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=www_yongfa365_com