前段時間按一個網友問我數據庫置疑的處理方法.
通常來說,數據庫置疑有兩種情形,一種是數據庫文件破壞,這時,很不好意思,重建數據庫,拿備份文件還原,如果沒備份文件就等死吧.另一種,數據庫主文件連接不上DBMS,這時算你幸運,先斷掉這個數據庫的所有連接,也就是改成單用戶模式,然後分離一下,在附加一下數據庫MDF文件.可能一次不行,那就多操作幾次.
也可以用腳本操作,下面的腳本是我在網上找的,好多網站都有,沒辦法指明原始出處,不好意思:
一、首先將置疑的數據庫設爲單用戶
語句如下:
USE MASTER
GO
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO
UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='ABCD'
Go
sp_dboption 'ABCD', 'single user', 'true'
Go
DBCC CHECKDB('ABCD')
Go
update sysdatabases set status =28 where name='ABCD'
Go
sp_configure 'allow updates', 0 reconfigure with override
Go
sp_dboption 'ABCD', 'single user', 'false'
Go
二、將單用戶改爲多用戶
語句如下:
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', 'true'
Go