立即使用以下SQL腳本進行強制恢復數據庫
use master
declare @databasename varchar(255)
set @databasename='SharePoint_Config'
sp_configure 'allow updates',1
reconfigure with override
--強制修改數據庫狀態
update master..sysdatabases set status = 16 where name = @databasename
--嘗試恢復數據庫
dbcc dbrecover(@databasename, IGNOREERRORS)
結果還是質疑/Suspect狀態,估計是數據庫日誌文件有損壞. 好在只是SharePoint_Config數據庫,對用戶數據沒有影響。直接使用了以下方法進行了恢復數據庫。
1.停止SQLServer服務
2.到SQLServer的數據庫文件夾下備份SharePoint_Config和SharePoint_Config的Log數據
3.啓動SQLServer服務
4.刪除並創建新的同名SharePoint_Config數據庫
5.停止SQLServer服務
6.到SQLServer的數據庫文件夾下替換SharePoint_Config爲之前備份的SharePoint_Config。
7.啓動SQLServer服務
8.設置SharePoint_Config爲emergency狀態
alter database SharePoint_Config set emergency
9.恢復SharePoint_Config數據庫(過程中出現大量恢復錯誤)
use master
declare @databasename varchar(255)
set @databasename='SharePoint_Config'
--設置爲單用戶模式
exec sp_dboption @databasename, N'single', N'true'
--恢復數據(允許數據丟失)
dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)
--恢復數據(重建數據庫結構)
--dbcc checkdb(@databasename,REPAIR_REBUILD)
--檢查約束
—dbcc checkconstraints
--恢復爲多用戶模式
exec sp_dboption @databasename, N'single', N'false'
10.重新啓動SQLServer服務
11.數據恢復完成,手動處理恢復後的數據和備份數據的差分
以上方法只適用於數據庫文件完整,Log文件不完整或丟失的情況,如果數據庫文件不完整,請注意不要使用。
參考網址
http://blog.csdn.net/htl258/article/details/4136908
http://blog.sina.com.cn/s/blog_75a555e401015o4z.html
--------------------------------------------------------------------------------------
- 版權聲明:
- 如在本頁面內無特別說明,本文內容均爲[李大仁博客]原創,本文版權歸[李大仁博客]所有。
- 歡迎轉載,轉載請務必在文章頁面明顯位置提供原文鏈接並註明出處。歡迎您在轉載本文時保留本段聲明。
- 文章標題:修復SQLServer2005/2008/2012數據庫質疑/Suspect狀態
- 獨立博客:李大仁博客
- 永久鏈接:http://www.lidaren.com/archives/1499
--------------------------------------------------------------------------------------
以上內容由博客自動發佈工具自動發佈,最終顯示內容和效果會與原文內容有所偏差,敬請諒解。