以資料庫mpcyerp為例,做對資料庫置疑的處理方法說明:
一、将mpcyerp_Data.MDF檔案拷貝出來并備份 在企業管理器中建立一個同名的新資料庫mpcyerp
二、停止SQL Server服務,删除新資料庫的兩個檔案(mpcyerp_Data.MDF和mpcyerp_Log.ldf檔案),把備份中的mpcyerp_Data.MDF拷貝到建立新資料庫檔案夾内
三、在查詢分析器中逐漸執行以下sql(SqlServer2000)
USE MASTER
GO
--允許對系統目錄直接修改
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO
--設定為緊急修複模式 mpcyerp為資料庫名
UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='mpcyerp'
Go
--mpcyerp為資料庫名
sp_dboption 'mpcyerp', 'single user', 'true'
Go
--重建資料庫日志檔案 mpcyerp為資料庫名
--D:\Program Files\Microsoft SQL Server\MSSQL$SQL2000\Data為資料庫檔案存放位址
dbcc rebuild_log('mpcyerp','D:\Program Files\Microsoft SQL Server\MSSQL$SQL2000\Data\mpcyerp_Log.ldf')
Go
--驗證資料庫一緻性 mpcyerp為資料庫名
DBCC CHECKDB('mpcyerp')
Go
--mpcyerp為資料庫名
update sysdatabases set status=28 where name='mpcyerp'
Go
sp_configure 'allow updates', 0 reconfigure with override
Go
--mpcyerp為資料庫名
sp_dboption 'mpcyerp', 'single user', 'false'
三、SqlServer2005及以上版本處理辦法:
USE MASTER
GO
1.修改資料庫為緊急模式
ALTER DATABASE mpcyerp SET EMERGENCY
Go
2.使資料庫變為單使用者模式
ALTER DATABASE Sharepoint_Config SET SINGLE_USER
Go
3.重建資料庫日志檔案 mpcyerp為資料庫名
alter database mpcyerp rebuild log on (name=mpcyerp_log,filename='D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\mpcyerp_log')
Go
4.驗證資料庫一緻性 mpcyerp為資料庫名
DBCC CHECKDB('mpcyerp')
Go
5.使資料庫變回為多使用者模式
ALTER DATABASE mpcyerp SET MULTI_USER
Go
6.将資料庫從緊急模式恢複為正常模式
ALTER DATABASE mpcyerp SET ONLINE
Go