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
总结以上是内存溢出为你收集整理的SQLSERVER2008 数据库可疑的解决方法全部内容,希望文章能够帮你解决SQLSERVER2008 数据库可疑的解决方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)