Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > ADP及SQL SERVER

MS SQL Server 数据库出现置疑状态问题的修复方法

时 间:2013-09-10 09:48:05
作 者:红尘如烟   ID:10768  城市:成都
摘 要:MS SQL Server 数据库出现置疑状态问题修复方法
正 文:

用户问题描述
一客户SQL Server数据库突然无法访问,在企业管理器中检查发现该数据库显示为“置疑”状态。


问题检查确认
将数据库文件 accdev_be.mdf 和日志文件 accdev_be_log.ldf 从生产服务器中复制出来,放到另外一台测试服务器中,进行数据库附加操作,出现错误9003,提示LSN(LSN即日志扫描号)无效。


预计可能的原因
该问题一般可能是由于服务器突然断电,或不稳定引起的突发异常,导致数据库文件损坏或者数据库文件和日志文件不匹配。


修复相关前提说明
这里修复均是在测试服务器上进行,只有最后修复完成后才将文件复制到生产服务器上进行恢复。
测试服务器上的初始环境应该是SQL Server 处于正常启动状态,企业管理器和查询分析器没有被打开。
本文中以如下数据库作为演示举例:
数据库名称: accdev_be
数据库文件名:accdev_be.mdf
日志文件名: accdev_be_log.ldf


 具体修复步骤
1. 在打开SQL Server 企业管理器,新建一个同样名为 accdev_be 的数据库。
 


2. 这里新建数据库的时候,要注意数据库文件和日志文件的文件名,也要保持一致,这里我们为了不使用太长的路径名,以方便描述,因此直接放在了C盘根目录下。如图所示:
数据库文件名为: accdev_be  位置为:C:\accdev_be.MDF
日志文件名为:  accdev_be_log 位置为:C:\accdev_be_log.LDF
 


3. 名称及位置确认无误后,点击【确定】按钮完成数据库的新建,然后关闭企业管理器

4. 打开服务管理器,点击【停止】按钮来停掉服务SQL Server服务。
  


5. 到文件夹C:\ 中,用需要修复的 accdev_be.mdf文件替换掉新建数据库时生成的 accdev_be.MDF 文件,删掉accdev_be_log.LDF 文件。
   b 


6. 根据前面第4步,重新启动服务。


7. 打开查询分析器,在查询分析器的命令窗口中,输入以下命令脚本,然后按F5键或点击工具栏上的【执行查询】按钮执行:

 go
--修改系统配置项“允许对系统目录直接进行修改”
exec sp_configure 'allow updates',1
go
--使配置生效
reconfigure with override
go
--设置 accdev_be 为紧急修复模式
update sysdatabases set status=-32768 where dbid=db_id('accdev_be') 
go
--重建数据库日志文件
dbcc rebuild_log('accdev_be','C:\accdev_be_log.ldf') 
go
--检查数据库一致性
dbcc checkdb('accdev_be') 
go
--设置数据库为正常状态
exec sp_dboption 'accdev_be','dbo use only','false' 
go
--恢复系统配置项“允许对系统目录直接进行修改”
exec sp_configure 'allow updates',0 
go   
--使配置生效
reconfigure with override 
go


 


8. 执行后仔细检查一下下面消息窗口中返回的消息,有没有提示出现错误,诸如“CHECKDB 发现了 0 个分配错误和 0 个一致性错误(在数据库 'accdev_be' 中)。”这样的消息表示是没有错误的。如果没有错误,那么恭喜,说明现在数据库已经被成功修复了!


9. 在查询分析器的对象浏览器窗口中(没有显示可按F8打开),选中服务器名称然后刷新。
 


10. 就可以看到 accdev_be 数据库在这里出现了(前面因为有问题无法访问,在这里也显示不出来)。打开几个数据表看一下,就会发现数据库已经能正常使用了。
 


11. 最后只需要通过“分离数据库”或“备份数据库”的方式,将数据库文件再传到正式的生产服务器上,进行“附加数据库”或“强制还原数据库”的操作,就全部大功告成了!



Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助