MSDB数据库置疑的解决方法

1.原因

机房停电,服务器非法关机,导致MSDB数据库被“置疑”

2.Msdb数据库的作用

Msdb 数据库供SQLServer 代理程序调度警报和作业以及记录操作员时使用。比如,我们备份了一个数据库,会在表backupfile中插入一条记录,以记录相关的备份信息。

3.实现逻辑

由于Msdb数据库并未存储特别重要的信息,因此可以从别的机器拷贝一份相同的msdbdata.mdf和msdblog.ldf覆盖掉即可。

4.解决步骤

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服务。

步骤3、如果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 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。