zoukankan      html  css  js  c++  java
  • SQL数据库msdb置疑(急)

    转自:http://lcj240856742.blog.163.com/blog/static/65675342008268474915/

    答案一: 假设    kmjx    为被置疑的数据库。

    5.把数据库设成紧急状态:
    在SQL查询分析器中逐条执行以下语句
    sp_configure 'allow',1
    reconfigure with override
    update sysdatabases set status=32768 where name='kmjxc'

    6.重建日志文件(请将路径换成你的数据文件路径)
    其中“D:\MSSQL$PROD\Data\”为存放数据库文件的路径
    “KMJXC_log.ldf”为一个新的不存在的文件,在执行以下语句时将自动建立
    dbcc rebuild_log('kmjxc','D:\MSSQL$PROD\Data\KMJXC_log.ldf')
    7.逐条执行以下语句,取消紧急模式
    update sysdatabases set status=0 where name='kmjxc'
    restore database kmjxc with recovery
    sp_configure 'allow',0
    reconfigure with override
    8.重起sql server
    先做上面的步骤了,不行再执行下面的步骤,

    1、在SQL查询分析器中执行以下语句:(注以下所用的dbname为数据库名称,请客户手工改为自己的数据库名)
    use dbname
    dbcc checkdb
    2、查看查询结果,有很多红色字体显示,最后结果有这样的提示:
    CHECKDB 发现了x个分配错误和 x 个一致性错误(在数据库 'dbname' 中)。
    一般情况下,引起分配错误的原因是磁盘损坏或突然停电;一致性错误可能是数据库中的表或索引坏,一般都可修复。
    3、查看红色字体,并把有错误的数据库表名记录下来,或把索引损坏的表名记录下来。
    4、把数据库设置为单用户模式,直接在查询分析器中执行以下语句即可:
    EXEC sp_dboption 'dbname', 'single user', 'TRUE'.
    5、进入查询分析器执行如下语句:
    use kmjxcv3
    dbcc checkdb(’dbname’,repair_allow_data_loss)-------修复数据库
    dbcc checkdb ('dbname',REPAIR_REBUILD)----------------修复数据库索引
    6、再执行:dbcc checkdb,检测数据库,出现结果为:
    CHECKDB 发现了0个分配错误和 0个一致性错误(在数据库 'dbname' 中)。
    数据库已经修复完毕。
    7、取消单用户模式,即直接在查询分析器中执行以下语句即可:
    EXEC sp_dboption 'dbname', 'single user','FALSE'

    答案二:

    lddl单位的SQL2000的MSDB数据库,因为不正常关机,成了置疑状态,怎么弄都不行,后在网上查到以下的修复代码:

    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

    方法三:

    数据库系统出现严重问题,msdb 数据库置疑 本人解决方案

    问题背景:

        操作系统: WINDOWS 2000 SERVER + SP4

        数据库系统: MS SQL SERVER 2000  ENTERPRISER + SP3

    问题表现:

    msdb 数据库和本人所建的另一个数据库MARK出现置疑,MS SQL SERVER 2000中系统中该在的文件都还在,但是msdb 数据库和MARK数据库置疑,点击显示无文件。

    解决问题要达到的目标:

    其中,MARK数据库是本人开发的一个C/S成绩管理系统所用的数据库,现正为学校期中考试过后,期中成绩正在录入,而且,每天的数据库不一样,该数据库有备份, 但是前一天的。若强行恢复,只怕丢失今天上午的数据,最好要做到,所有成绩都要不要丢失

    MARK数据库解决过程

    1:MARK数据库,该数据库虽然出现置疑,但很容易解决。

        先停止整个数据库,将该数据库的文件mark_Data.MDF 和mark_Log.LDF拷贝粘贴出来。

    2:从企业管理器中将MARK数据库删除。

    3:将备份好的数据库文件复制过来原先的目录下。

    4:选择   数据库右击鼠标 --》所有任务--》附加数据库   之后依照操作完成数据库的附加。

    5:MARK数据库能够正常工作,解决了MARK数据库置疑的过程。

    6:使用成绩管理系统,发现能够正常使用。

    7:第一个问题解决

    注:以上过程中,由于MSDB数据库也处于置疑的过程中,会出现几次错误提示,不用理会。一般说来是可以成功的

    MSDB数据库解决过程

    难点:由于MSDB数据库不能删除,将其文件拷出来,再次附加数据库,但新的附加数据库不能叫MSDB,也就是不能同名,遇到了困难。

    1:先停止整个数据库,将该数据库的文件msdbdata.mdf和msdblog.ldf拷贝粘贴出来到另一个目录下。

    2:将以上的文件再拷贝到另一个目录下,也就是说复制两次。

    3:选择   数据库右击鼠标 --》所有任务--》附加数据库   将复制出的一个备份文件附加上去,其中,数据库名称叫MSDB1,用户是SA或ADMINISTRATOR。

    4:将MSDB1数据库备份,备份成一个文件,当时我的叫MSDB。BAK。

    5:选择置疑的数据库MSDB,选择恢复数据库,将刚才备份出来的数据库强行恢复到MSDB。

    6:问题解决,MSDB库又能正常使用。

    完成后赶快将数据库再次备份一次。呵呵

  • 相关阅读:
    2019-09-29-阿里三面
    【Layui】在前端提交表单时验证密码是否正确
    【Mivik 的字符串公开赛A】大佬语录(广义后缀自动机)
    【2020ICPC南京J】Just Another Game of Stones(Nim博弈+吉老师线段树)
    【HDU-6291/2018CCPC女生赛E】对称数(散列+树上主席树)
    【计蒜客42547/2019ICPC徐州H】Yuuki and a problem(MEX性质+树套树)
    【HDU-6230/2017CCPC哈尔滨A】Palindrome(式子转换+马拉车+主席树)
    【HDU-6223/2017ICPC沈阳G】Infinite Fraction Path(后缀数组+超级快读)
    【HDU-5785】Interesting(回文串的性质+回文自动机+map空间优化)
    【CF-1452E】Two Editorials (贪心)
  • 原文地址:https://www.cnblogs.com/wangpei/p/1805253.html
Copyright © 2011-2022 走看看