SQL2005数据库无法附加或出现置疑时的修复方法
文章出处:http://www.singbon.com 作者:兴邦开发部 人气: 发表时间:2016年12月13日
注:本实例以zxk数据库被置疑做演示,
1、停止数据库服务:打开SQL2005企业管理器,在服务器上点击鼠标右键,然后用左键点击“停止”菜单,停止SQL Server服务
2、数据库备份:将原数据库zxk文件拷贝至其它盘符进行备份。如:将“D:\data”目录下的*.mdf和*.ldf拷贝至E盘或者直接将D盘下的data文件夹拷贝至E盘。
3、重启数据库服务:在服务器上点击鼠标右键,然后用左键点击“启动”菜单,重新启动SQL Server服务
5、新建数据库:鼠标右击数据库在弹出的菜单中选择“新建数据库”,新建一个任意名称的数据库如JYPACS_US
6、替换数据库文件:先停止数据库服务(方法见步骤1),然后将E盘备份的数据库zxk原文件修改成JYPACS_US数据库名称,并复制粘贴至原目录下替换新文件。如:将“E:\data”目录下的*.mdf和*.ldf文件复制粘贴至“D:\data”目录下替换。
7、重启数据库服务:重启SQL Server服务(方法见步骤3),,然后刷新数据库,此时可见数据库处于可疑或无法使用的状态。
8、设置紧急状态:在可疑的数据库上点击右键,然后用左键选择“新建查询”菜单,打开SQL Server的查询分析器,在命令串口中输入
alter database jypacs_us set emergency
然后按F5键或者点击执行按钮,将数据库置为可疑模式。
9、设置单用户模式:将SQL语句修改为
alter database jypacs_us set single_user
然后执行命令,将数据库置为单用户模式。
10、重建日志:清空命令窗口,然后输入
dbcc checkdb('jypacs_us',REPAIR_ALLOW_DATA_LOSS)
这个时间比较长。耐心等待!
如果有错误提示,再运行:
dbcc checkdb('jypacs_us',REPAIR_REBUILD)
进行修复。如果没有错误,可以跳过。
11、恢复多用户模式:清空命令窗口然后输入
alter database jypacs_us set multi_user
并执行,将数据库恢复为多用户模式。
刷新数据库,此时会看到数据库已恢复正常。这时候数据库JYPACS_US中的数据基本上和被质疑中心库中的数据基本一致,但不排除数据丢失,在使用前一定要核对下数据库中相应的数据。无误后可以将JYPACS_US代替中心库zxk使用