代码改变世界

MSsql2008数据库恢复时总是提示日志文件报错

2013-04-22 16:31  zhaoyang  阅读(438)  评论(0编辑  收藏  举报

     前两天网站数据库突然报错,数据库连接不上,联系数据库空间提供商要求备份还原,但是数据库空间服务商反馈还原不了。备份文件全部报错,要求我们自己想办法,我从服务商那里拿回原文件,在本地恢复总是提示日志文件报错,试了N多方法也没有还原,耗时两天终于搞定了,现在把方法整理如下:

 

一、首先新建一个数据库和原来的数据库同名,注意一定要一模一样

二、停掉服务(NET STOP MSSQLSERVER)把原来的文件覆盖到新建数据库的文件,把日志文件挪走

三、启动服务(NET START MSSQLSERVER)

四、修改数据库为紧急模式,并修改数据库为单用户模式

  alter database 数据库名 set emergency

  go

  alter database 数据库名 set single_user

  go

五、开始修复

  dbcc checkdb(数据库名,REPAIR_ALLOW_DATA_LOSS)

  go

  dbcc checkdb(数据库,REPAIR_REBUILD)

  go

  dbcc checkdb(数据库)

  go

六、修改数据库为多用户模式

alter database 数据库名 set multi_user


至此数据库恢复正常状态。