• SQL2005数据库可疑的解决方法


    sqlserver数据库标注为可疑的解决办法

    一般引起可疑的原因是突然断电,服务器死机,强制关机导致正在运行的数据库文件损坏,需要进行修复。
    方法一:
    USE MASTER

    GO
    SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
    GO
    ALTER DATABASE MyDB SET EMERGENCY
    GO
    sp_dboption 'MyDB', 'single user', 'true'
    GO
    DBCC CHECKDB('MyDB','REPAIR_ALLOW_DATA_LOSS')
    GO
    ALTER DATABASE MyDB SET ONLINE
    GO
    sp_configure 'allow updates', 0 reconfigure with override
    GO
    sp_dboption 'MyDB', 'single user', 'false'
    GO

    方法二:

    1:停止数据库服务,将可疑的数据库及日志备份到别的文件夹,随后删除数据库文件及日志文件

    2:打开数据库服务,连接数据库后删除可疑的数据库,并新建同名的数据库(目录位原来的目录)

    3:停止数据库服务,将备份的数据库文件替换新建的数据库文件(日志文件不需要替换)

    4:打开数据库服务,连接数据库后执行alter database 数据库名 set emergency,将数据库改为紧急模式, 执行后,为了保险起见,重新停止、开启的SQLSERVER服务,再打开数据库,已经可以看到里面的内容了,如表,视图,存储过程等,数据库名称后有紧急标志,能看到数据库结构,但无法进行备份等操作

    5:执行ALTER DATABASE 数据库名 SET SINGLE_USER,将数据库设为单用户模式

    6:对数据库进行检查修复dbcc checkdb(数据库名,REPAIR_ALLOW_DATA_LOSS)

    7:取消单用户模式 ALTER DATABASE 数据库名 SET MULTI_USER

    至此,数据库修复完毕,被标记为“可疑”的数据库已恢复正常状态。

  • 相关阅读:
    lambda续集——1
    c++之—— lambda表达式(有个未能解决的问题等待大佬解答)——(在stack overflow找到了答案)
    交换两个变量,只使用2个变量——权当面试了解使用
    移位实现正负数原码输出
    算法导论之——插入排序
    类模板的实现与定义相分离
    类模板
    当函数模板遇到普通函数
    c++之——template模板函数
    字符转数字,数字转字符
  • 原文地址:https://www.cnblogs.com/zoood/p/5733403.html
Copyright © 2020-2023  润新知