1. 程式人生 > >SQL SERVER 2005 資料庫狀態為“可疑”的解決方法(轉)

SQL SERVER 2005 資料庫狀態為“可疑”的解決方法(轉)

在被設定為“可疑”後很納悶,之前沒有遇到此類情況,問了幾個前輩依然未找到問題所在。最後還是解決了,現在給大家分享我的解決辦法:

  首先,不能使得資料庫離線、分離等操作,在這種情況下,資料庫不能驚醒備份的。如果你真的使得資料庫離線,就再也沒有辦法解決了。我也幹過這件傻事,千萬不能重蹈覆轍哦。(切記!切記!)

  其次,執行下列程式碼,將MyDB換成你自己的資料庫。

USE MASTER
GO
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO
ALTER DATABASE MyDB SET EMERGENCY
GO
sp_dboption 'MyDB', 'single user', 'true'
GO
DBCC CHECKDB('MyDB','REPAIR_ALLOW_DATA_LOSS')
GO
ALTER DATABASE MyDB SET ONLINE
GO
sp_configure 'allow updates', 0 reconfigure with override
GO
sp_dboption 'MyDB', 'single user', 'false'
GO

  接著,儘管這樣能夠使得資料庫恢復正常,至少可以讓對資料庫進行操作。包括查詢、更新等。但是這並沒有真正的解決問題,只是修改了資料庫的“可疑”狀態。

  下面就要找具體問題所在,發生這種情況的緣由很多,或是資料庫操作、或是觸發器、儲存過程、索引、日誌。

  如果你的資料庫不是很大,其間的資料不多,希望能夠重新建立資料庫,然後再匯入資料。

  如果很大,而且很重要不能及時更新的話,希望大家搜尋一下資料庫或者系統、應用程式的日誌,看一下日誌記錄,或許你會發現一些可疑的苗頭。

  最後,發現數據庫在記錄日誌的時候出現了問題,建議刪除久的日誌檔案(當然主日誌檔案是不能刪除的),你可以新增新的日誌檔案。並檢查資料庫、日誌的自增長是否正常。

方法二:

問題背景:

日常對Sql Server 2005關係資料庫進行操作時,有時對資料庫(如:Sharepoint網站配置資料庫名Sharepoint_Config)進行些不正常操作如資料庫在讀寫時而無故停止資料庫,從而導致Sql Server 2005資料庫不正常中斷,當再次開啟資料庫時會發現某些資料庫會被標記為“可疑”(suspect),即在資料庫名旁加上了黃色的驚歎號,這時資料庫就不能再被打開了,但資料庫的結構及資料內容都還是存在的。

解決方法:

當資料庫發生這種操作故障時,可以按如下操作步驟可解決此方法,開啟資料庫裡的Sql 查詢編輯器視窗,執行以下的命令。

1、修改資料庫為緊急模式

ALTER DATABASE Sharepoint_Config SET EMERGENCY

2、使資料庫變為單使用者模式

ALTER DATABASE Sharepoint_Config   SET SINGLE_USER

3、修復資料庫日誌重新生成,此命令檢查的分配,結構,邏輯完整性和所有資料庫中的物件錯誤。當您指定“REPAIR_ALLOW_DATA_LOSS”作為DBCC CHECKDB命令引數,該程式將檢查和修復報告的錯誤。但是,這些修復可能會導致一些資料丟失。

DBCC CheckDB (Sharepoint_Config , REPAIR_ALLOW_DATA_LOSS)

4、使資料庫變回為多使用者模式

ALTER DATABASE Sharepoint_Config SET MULTI_USER

5、開始->執行->輸入cmd->開啟DOS命令視窗,輸入以下命令重啟資料庫服務

Net stop mssqlserver --停止服務

Net start mssqlserver --啟動服務

再次,開啟Sql Server 2005時被標記為“可疑”的資料庫已恢復正常狀態。