无法复制MDF和LDF文件、SQL置疑、索引605错误
我相信所有和我一样安装sql2000的人,如果遇到数据库置疑是有多闹心。最闹心的是还不懂怎么修复。然后到网络上看那些五花八门的各种教程,看的眼花缭乱不说,还云里雾里的。大神们,不要求你们开个视频,但是敢有个图片吗!!无数次磕磕碰碰后,整理出了这篇文字,且成功修复过2次数据库置疑。
操作方法
- 01
停止SQL服务器,为了防止操作过程中意外发生,复制备一份MDF和LDF文件,复制过程中如果出现“数据错误,循环冗余检查”,进行一次“磁盘碎片整理”和“查错”的操作。 复制好后,删除置疑的LDF文件, 重启SQL服务器
- 02
打开查询分析器,输入以下命令: Use Master Go sp_configure 'allow updates', 1 reconfigure with override Go begin tran update sysdatabases set status = 32768 where name = '置疑的数据库名' commit tran 输入好后依次选择每一组语句,依次按F5或右键执行每一组命令 都执行好后关闭查询分析器。 注:图中isszmv8是置疑的数据库名称,请自行修改。
- 03
停止SQL服务后再重启SQL服务 在查询分析器中输入以下命令: DBCC TRACEON(3604) DBCC REBUILD_LOG('置疑的数据库名','LDF存放路径') Go 选择语句并执行 关闭查询分析器 注:图中('isszmv8','C:\isszmv8_log.ldf')是置疑的数据库名称以及删除的LDF文件存放路径。
- 04
停止SQL服务 重启SQL服务 查询分析器里输入以下命令: use master update sysdatabases set status = 8 where name = '置疑的数据库名' Go sp_configure 'allow updates', 0 reconfigure with override Go 选中要执行的每一组语句,然后执行。 注:图中isszmv8是置疑的数据库名称
- 05
检查数据库: 在查询分析器内输入: USE 数据库名称 Go EXEC sp_dboption '数据库名称', 'single user', 'TRUE' go DBCC CHECKDB ('数据库名称') Go DBCC CHECKDB ('数据库名称',repair_rebuild) Go dbcc checkdb('数据库名称',repair_allow_data_loss) Go EXEC sp_dboption '数据库名称', 'single user','FALSE' go 依次选中要执行的每一组语句,依次执行改命令。 注:图中isszmv8是置疑的数据库名称 到此置疑修复结束。
- 06
在第二次修复数据库置疑后,有出现过某些数据索引605的错误的 打开查询分析器 输入以下命令: exec sp_dboption '数据库名称', 'single user', 'true' dbcc checkdb ('数据库名称',repair_allow_data_loss) dbcc checkdb ('数据库名称',repair_rebuild) dbcc checkdb ('数据库名称', noindex) exec sp_dboption '数据库名称', 'single user','false' 以上每行命令执行一次就可以了。