msdb数据库置疑如何恢复

msdb数据库置疑如何恢复,第1张

MSDB数据库解决过程难点:由于MSDB数据库不能删除,将其文件拷出来,再次附加数据库,但新的附加数据库不能叫MSDB,也就是不能同名,遇到了困难。 1:先停止整个数据库,将该数据库的文件msdbdata.mdf和msdblog.ldf拷贝粘贴出来到另一个目录下。 2:将以上的文件再拷贝到另一个目录下,也就是说复制两次。 3:选择 数据库右击鼠标 --》所有任务--》附加数据库 将复制出的一个备份文件附加上去,其中,数据库名称叫MSDB1,用户是SA或ADMINISTRATOR。 4:将MSDB1数据库备份,备份成一个文件,当时我的叫MSDB。BAK。 5:选择置疑的数据库MSDB,选择恢复数据库,将刚才备份出来的数据库强行恢复到MSDB。 6:问题解决,MSDB库又能正常使用。

原因:非正常程序中断或错误结束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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6817801.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存