MS SQL Server 数据库出现置疑状态问题的修复方法-红尘如烟
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> ADP及SQL SERVER


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

发表时间:2013/9/10 9:48:05 评论(1) 浏览(23700)  评论 | 加入收藏 | 复制
   
摘 要: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群(群号:198465573)
 
 相关文章
access2007\2010设置<压缩和修复数据库>的方法\压缩...  【Access软件网整理  2009/3/20】
access2003设置<压缩和修复数据库>的方法\压缩修复数据库...  【麥田  2009/7/24】
当前数据库压缩修复、打开选定的数据库/后台数据库管理  【网行者  2012/12/2】
SQLServer2005孤立用户的修复方法  【金宇  2013/2/4】
三款ACCESS数据库修复工具  【麥田  2013/5/23】
SQL Server置疑数据库解决方法   【杜超-2号  2013/9/7】
常见问答
技术分类
相关资源
文章搜索
关于作者

红尘如烟

文章分类

文章存档

友情链接