>  기사  >  데이터 베이스  >  sql server 2008 数据库可疑的解决步骤

sql server 2008 数据库可疑的解决步骤

WBOY
WBOY원래의
2016-06-07 15:06:361872검색

没有使用微软提供的代码管理工具,在使用百度云进行同步,出现了 数据库可疑 在网上搜索文章,经测试恢复成功,这种方法同样适用于2005,操作如下: -------------------------备份并新建同名数据库,并替换原数据文件----------------------------- 1 把问题数

没有使用微软提供的代码管理工具,在使用百度云进行同步,出现了"数据库可疑"

在网上搜索文章,经测试恢复成功,这种方法同样适用于2005,操作如下:

-------------------------备份并新建同名数据库,并替换原数据文件-----------------------------

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

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

2 新建同名数据库

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

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

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

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

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

4 将数据库设置为应急状态

  alter database ErrorDB set emergency

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

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

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

5 将数据库设置为单用户模式

  ALTER DATABASE ErrorDB SET SINGLE_USER

6 对数据库进行检查修复

  dbcc checkdb(EIMSDb,REPAIR_ALLOW_DATA_LOSS)

  dbcc checkdb(EIMSDb,REPAIR_REBUILD)

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

7 取消单用户模式

  exec sp_dboption EIMSDb, N'single', N'false'

 

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

 

重启网站,访问正常。


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.