zoukankan      html  css  js  c++  java
  • SQL2005数据库置疑处理

    2005中遇到置疑、丢失日志时按照网上常见的MSSQL2000修复方法来做,
    结果发现行不通,甚至连一步都做不下去。其实,在MSSQL2005在处理置疑问题的思
    路与MSSQL2000是一致的,但具体到一些语句上MSSQL2005 有了很大的变动。我们以
    一个被误删日志文件的数据库为例:
    1.MSSQL2000在日志被误删除后会提示置疑(suspect),而在MSSQL2005中却没有特
    殊标志,但图标前的不见了当你查询数据库属性时会有Error:945提示:

    2.顺着老思路,首先我们想到先进入紧急模式:
    MSSQL2000进入紧急模式:
    Use Master
    Go
    sp_configure 'allow updates', 1
    reconfigure with override
    Go
    update sysdatabases set status = 32768 where name = 'dbname'
    MSSQL2005进入紧急模式的方法简单了
    alter database dbname set emergency

    3.重建日志文件
    MSSQL2000使用DBCC REBUILD_LOG
    MSSQL2005中没有了DBCC REBUILD_LOG
    MSSQL2005中是使用dbcc checkdb('dbname',REPAIR_ALLOW_DATA_LOSS)
    当然要想使用dbcc checkdb我们得进入单用户模式:
    sp_dboption 'dbname', 'single user','true'

    alter database dbname set single_user(推荐使用后者)

    4.再运行dbcc checkdb看看是否有损坏的页
    5.恢复多用户模式
    sp_dboption 'dbname', 'single user','false'

    alter database dbname set multi_user(推荐使用后者)

    6.恢复非紧急模式
    alter database dbname set online

     

    总结:

    2005数据库当出现置疑时,可以通过以下语句来解决:

    Use Master
    Go
    sp_configure 'allow updates', 1
    reconfigure with override
    Go

    alter database dbname set emergency

    go

    alter database dbname set single_user

    go

    dbcc checkdb('dbname',REPAIR_ALLOW_DATA_LOSS)

    go

    alter database dbname set multi_user

    go

    alter database dbname set online

    go

  • 相关阅读:
    OnClick方法与Click事件
    词法,语法,语义
    静态成员与实例成员
    依赖属性 DependencyProperty
    依赖,关联,聚合,合成
    数据可视化
    ref 与out
    理解TCP为什么需要进行三次握手(白话)
    禁止访问网站中所有的动态页面
    linux 重命名文件和文件夹
  • 原文地址:https://www.cnblogs.com/lxshanye/p/3808786.html
Copyright © 2011-2022 走看看