微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SQLSERVER2008 数据库可疑的解决方法

把问题数据库备份后直接删除

   停掉sqlSERVER服务,把服务器上出问题的数据库假设名称为 ErrorDB数据库文件及日志文件备份到其他目录,然后直接将其删除,把其数据库文件及日志文件删除

新建同名数据库

  启动sqlSERVER服务,新建同名数据库ErrorDB,文件目录和日志和原来一致

用备份的数据库文件替换新的数据库文件

  停掉sqlSERVER服务,把备份的数据库文件替换新的数据库文件(只替换数据库文件,不替换日志文件

  启动sqlSERVER服务,打开数据库,这时数据库应该是不能访问的

-------------------设置应急模式、单用户模式、检查修复数据,取消单用户模式----------------------

数据库设置为应急状态

  alter database ErrorDB set emergency

  执行后,为了保险起见,重新停止、开启的sqlSERVER服务

  再打开数据库,已经可以看到里面的内容了,如表,视图,存储过程等

  数据库名称后有紧急标志,能看到数据库结构,但无法进行备份等操作

数据库设置为单用户模式

  ALTER DATABASE ErrorDB SET SINGLE_USER

数据库进行检查修复

  dbcc checkdb(EimsDb,REPAIR_ALLOW_DATA_LOSS)

  dbcc checkdb(EimsDb,REPAIR_REBUILD)

  操作后,仍然停止启动sqlSERVER服务(不确定是否需要,我只是为了想无干扰查看执行后的数据库状况)
 
  重新打开数据库,已经是正常状态了,没有应急提示

取消单用户模式

  exec sp_dboption EimsDb, N'single', N'false'

 

至此,数据库恢复完毕,对数据库进行BAK

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐