码迷,mamicode.com
首页 > 数据库 > 详细

SQL Server 查找表问题

时间:2014-07-31 12:35:36      阅读:292      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   使用   os   数据   for   问题   

使用以下SQL遍历表,查询是否有问题

DECLARE @table_name VARCHAR(50)
DECLARE cursor_table CURSOR FOR
  SELECT name
  FROM   sys.tables

OPEN cursor_table

FETCH next FROM cursor_table INTO @table_name

WHILE( @@FETCH_STATUS = 0 )
  BEGIN
      DBCC checktable(@table_name)

      PRINT                                              

      PRINT =============================================

      PRINT                                              

      FETCH next FROM cursor_table INTO @table_name
  END

CLOSE cursor_table

DEALLOCATE cursor_table 

 

如果有问题,则会输入类似下面的记录:

rece_money的 DBCC 结果。
消息 8952,级别 16,状态 1,第 1 行
表错误: 表 rece_money (ID 507148852)。索引 PK_rece_money (ID 25)中的索引行与任何数据行都不匹配。可能是以下行的多余或无效的键:
消息 8956,级别 16,状态 1,第 1
... ... ...
表错误: 表 rece_money (ID 507148852)。索引 PK_rece_money (ID 25)中的索引行与任何数据行都不匹配。可能是以下行的多余或无效的键: 消息 8956,级别 16,状态 1,第 1 行 索引行(1:171607:21)的值为(rece_money_id = 0000148773 and rece_money_type = 回款单 and HEAP RID = (1:34467:34)),指向由(HEAP RID = (1:34467:34))标识的数据行。 对象 rece_money3043 页中有 57111 行。 CHECKTABLE 在表 rece_money (对象 ID 507148852)中发现 0 个分配错误和 19 个一致性错误。 对于由 DBCC CHECKTABLE (zyhadm.dbo.rece_money)发现的错误,repair_rebuild 是最低的修复级别。 DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

 

通过语句修复 

DBCC CHECKTABLE (rece_money,repair_rebuild)

 

SQL Server 查找表问题,布布扣,bubuko.com

SQL Server 查找表问题

标签:style   blog   color   使用   os   数据   for   问题   

原文地址:http://www.cnblogs.com/wangning-aaron/p/3880176.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!