2004年11月12日,客戶黃先生的一台服務器出現Raid故障,經過我們的努力,數據基本恢復成功,但是其中的一個SQL Server日志文件(擴展名LDF)損壞嚴重,基本不能使用,但是數據文件損壞並不嚴重,我們通過下面的操作使數據全部恢復。
首先新建一個同名的數據庫,然後再停掉sql server服務,用原數據庫的數據文件覆蓋掉這個新建的數據庫文件,重啟SQL Server服務。打開企業管理器,該數據庫顯示“置疑”,在查詢分析器中執行下面的語句:
USE MASTER
GO
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO
UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑的數據庫名'
Go
sp_dboption '置疑的數據庫名', 'single user', 'true'
Go
DBCC CHECKDB('置疑的數據庫名')
Go
update sysdatabases set status =28 where name='置疑的數據庫名'
Go
sp_configure 'allow updates', 0 reconfigure with override
Go
sp_dboption '置疑的數據庫名', 'single user', 'false' Go
執行後數據庫本身仍然有問題,依舊顯示“質疑”。此時新建一個新的數據庫,運行DTS導出向導,把有問題的數據庫中的數據導入到新的數據庫中,打開新的數據庫,數據全部找回!