原因:非正常程序中斷或錯誤結束SQL服務,都會導致MSDB數據庫被“置疑”。
Msdb 數據庫供SQLServer 代理程序調度警報和作業以及記錄操作員時使用。比如,我們備份了壹個數據庫,會在表backupfile中插入壹條記錄,以記錄相關的備份信息。
但因為Msdb數據庫並未存儲特別重要的信息,因此可以從別的機器拷貝壹份相同的msdbdata.mdf和msdblog.ldf覆蓋掉即可。
解決步驟
A服務器為被“置疑”的服務器;B服務器上裝有和A服務器相同版本的數據庫軟件。版本是SQL SERVER 2000。
步驟1、停止B服務器上的SQL SERVER 服務,拷貝“msdbdata.mdf”和“msdblog.ldf”文件。
步驟2、停止A服務器上的SQL SERVER 服務,將從B服務器上拷貝“msdbdata.mdf”和“msdblog.ldf”文件覆蓋掉A服務器上的這兩個文件。?
步驟3、重新啟動A服務器上的SQL SERVER服務。
步驟4、如果MSDB數據庫仍然是置疑狀態,可以執行下面的SQL。
USE?MASTER?GO?
SP_CONFIGURE?'ALLOW?UPDATES',1?RECONFIGURE?WITH?OVERRIDE?
GO?
UPDATE?SYSDATABASES?SET?STATUS?=32768?WHERE?NAME='msdb'?
Go?
sp_dboption?'msdb',?'single?user',?'true'?
Go?
DBCC?CHECKDB('msdb')?
Go?
update?sysdatabases?set?status?=28?where?name='msdb'?
Go?
sp_configure?'allow?updates',?0?reconfigure?with?override?
Go?
sp_dboption?'msdb',?'single?user',?'false'?
Go