SQL Server 05資料庫被置為“可疑”的解決方法

iSQlServer發表於2009-08-11

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

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

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

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

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

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

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

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

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

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-611867/,如需轉載,請註明出處,否則將追究法律責任。

相關文章