检测修复数据库(分配错误)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

检测数据库和修复数据库的方法

1、(所有操作前先将数据库备份)在SQL查询分析器中执行以下语句:(注以下所用的dbname 为数据库名称,请客户手工改为自己的数据库名)

use dbname

dbcc checkdb

2、查看查询结果,有很多红色字体显示,最后结果有这样的提示:

CHECKDB 发现了x个分配错误和x 个一致性错误(在数据库'dbname' 中)。

一般情况下,引起分配错误的原因是磁盘损坏或突然停电;一致性错误可能是数据库中的表或索引坏,一般都可修复。

3、查看红色字体,并把有错误的数据库表名记录下来,或把索引损坏的表名记录下来。

4、把数据库设置为单用户模式,直接在查询分析器中执行以下语句即可:

EXEC sp_dboption 'dbname', 'single user', 'TRUE'

5、进入查询分析器执行如下语句:(分别执行)

A.

use dbname

dbcc checkdb ('dbname',REPAIR_REBUILD)----------------修复数据库索引

B.

use dbname

dbcc checkdb('dbname',repair_allow_data_loss)-------修复数据库

-----注意:这里的A、B可以先执行B后执行A,也可以先执行A,后执行B

6、再执行:dbcc checkdb,检测数据库,出现结果为:

CHECKDB 发现了0个分配错误和0个一致性错误(在数据库'dbname' 中)。

数据库已经修复完毕。

7、取消单用户模式,即直接在查询分析器中执行以下语句即可:

EXEC sp_dboption 'dbname', 'single user','FALSE'

现在可以正常使用了!

8、再用语句

use dbname

dbcc checkdb

检查还是有问题(如:POS_t_daysum 还有问题)可以执行下面操作1.

2.在这里点击编辑

3.点机编辑SQL(E)

4.点击执行(E)

执行成功后,再使用

use dbname

dbcc checkdb

执行后看是否还有分配错误和一致性错误到这里应该是可以了的

相关文档
最新文档