SQL SERVER出现大量一致性错误的解决方法

如果DBCC
CHECKDB发现了比较少的一致性错误,可以使用   DBCC
UPDATEUSAGE(DatabaseName,"dbo.ObjectName");
语句逐个针对表或索引中的每个分区更正行、已用页、保留页、叶级页和数据页的计数。但是如果数据库出现大量一致性错误。例如如下所示:

DBCC results for ‘JO_T_CUTXX‘.

消息 2508,级别 16,状态 1,第 1 行

The In-row data USED page count for object "JO_T_CUTXX", index ID 2, partition ID 626692535091200, alloc unit ID 626692535091200 (type In-row data) is incorrect. Run DBCC UPDATEUSAGE.

消息 2508,级别 16,状态 3,第 1 行

The In-row data RSVD page count for object "JO_T_CUTXX", index ID 2, partition ID 626692535091200, alloc unit ID 626692535091200 (type In-row data) is incorrect. Run DBCC UPDATEUSAGE.

消息 2508,级别 16,状态 1,第 1 行

The In-row data USED page count for object "JO_T_CUTXX", index ID 3, partition ID 908167511801856, alloc unit ID 908167511801856 (type In-row data) is incorrect. Run DBCC UPDATEUSAGE.

消息 2508,级别 16,状态 3,第 1 行

The In-row data RSVD page count for object "JO_T_CUTXX", index ID 3, partition ID 908167511801856, alloc unit ID 908167511801856 (type In-row data) is incorrect. Run DBCC UPDATEUSAGE.

消息 2508,级别 16,状态 1,第 1 行

The In-row data USED page count for object "JO_T_CUTXX", index ID 4, partition ID 1189642488512512, alloc unit ID 1189642488512512 (type In-row data) is incorrect. Run DBCC UPDATEUSAGE.

消息 2508,级别 16,状态 3,第 1 行

The In-row data RSVD page count for object "JO_T_CUTXX", index ID 4, partition ID 1189642488512512, alloc unit ID 1189642488512512 (type In-row data) is incorrect. Run DBCC UPDATEUSAGE.

消息 2508,级别 16,状态 1,第 1 行

The In-row data USED page count for object "JO_T_CUTXX", index ID 5, partition ID 1471117465223168, alloc unit ID 1471117465223168 (type In-row data) is incorrect. Run DBCC UPDATEUSAGE.

消息 2508,级别 16,状态 3,第 1 行

The In-row data RSVD page count for object "JO_T_CUTXX", index ID 5, partition ID 1471117465223168, alloc unit ID 1471117465223168 (type In-row data) is incorrect. Run DBCC UPDATEUSAGE.

There are 0 rows in 0 pages for object "JO_T_CUTXX".

CHECKDB found 0 allocation errors and 8 consistency errors in table ‘JO_T_CUTXX‘ (object ID 972634608).

....................................................................................

....................................................................................

....................................................................................

那么逐个语句去将目录视图中的页数和行数错误进行更正就显得有点低效和枯燥。如果数据库不大,你想对全部表执行以下该语句,那么可以使用下面语句:(当然更新统计信息语句不是必须的,为了确保系统视图、表信息正确性,有必要先收集、更新一下统计信息)

Code
Snippet

  1. USE master
  2. GO
  3. EXEC sp_MSforeachdb@command1="print ‘?‘ EXEC
    [?].dbo.sp_updatestats"
  4. USE master
  5. GO
  6. EXEC sp_MSforeachdb@command1="print ‘?‘ DBCC UPDATEUSAGE (?)"

缺点是会对所有对象执行一次DBCC
UPDATEUSAGE,如果数据库比较大,这个脚本执行起来就比较慢了。

SQL SERVER出现大量一致性错误的解决方法,布布扣,bubuko.com

时间: 2024-10-08 05:44:24

SQL SERVER出现大量一致性错误的解决方法的相关文章

SQL SERVER 2005 登陆18456错误的解决方法

昨天我的SQL(Microsoft SQL Server 2005 )登录不上去了,原来是出现了几个小问题,现在记录一下我的解决这几个情况的办法.(解决方法有很多种,这些只是我的解决方法,仅供参考)查找问题的过程:(注:用windows账号还是可以登录的)第一步: 启动所有与SQL有关的服务,问题依旧:第二步: 查看windows防火墙,被默认启动了,不启动选择项被Disabled两个提示"由于安全考虑,某些设置由组策略控制""Windows防火墙正在使用您的域设置"

[Android]ADB Server didn't ACK错误的解决方法

Eclipse中调试的时候报错 [2014-06-18 13:07:49 - DinnerBooker] The connection to adb is down, and a severe error has occured.[2014-06-18 13:07:49 - DinnerBooker] You must restart adb and Eclipse.[2014-06-18 13:07:49 - DinnerBooker] Please ensure that adb is co

SQL Server 2005无法远程连接的解决方法

以前一直连接本地的数据库,连接SQL Server 2005是小菜的... 做项目也是老师搭好了服务器端,打上IP去访问就行...也不用考虑太多. 今天自己在公司搭SQL Server 2005服务器,客户端去访问问题就来了... 连接失败,SQL Server 2005不支持远程... 想想应该不会,于是想到老师以前说的,服务器端要做配置...哇哈哈!~~果然... 方法如下:  一.为 SQL Server 2005 启用远程连接 1. 单击"开始",依次选择"程序&qu

安装SQL2005提示“SQL Server 2005 COM+ 目录要求”警告 解决方法

SQL Server 2005 COM+ 目录要求警告①.启动Distributed Transaction Coordinator 服务        打开服务,在服务中找到Distributed Transaction Coordinator服务,选择"属性":         在"登录"选项卡中,选择"此帐户",帐户名填写"NT AUTHORITY/NetworkService",密码为空:         在点击&qu

SQL Server 占用CPU较高的解决方法

触发原因:月底系统结账的时候对ERP的操作较多,有用户反馈系统之间的数据传输很久没有同步.随即到服务器上查看,没有发现有程序导致的问题,看了一下CPU的使用率,发现SQL Server占用率在百分之九十以上. 解决过程:首先Baidu了一下,看了一下可能的原因应该是索引问题.之前有仔细看过SQL Server索引相关的书籍和查找优化索引的方法.所以立即使用SQL Server Profiler开始检测对CPU使用率高的SQL statement. 经过检测发现更新数据传输的语句占用CPU很高(u

SQL Server 2005 不允许远程连接解决方法

SQL Server Browser和SQL Server (sqlexpress)都连接正常,但老是登录不进去,提示说什么建立远程连接出错? 刚刚安装的数据库系统,按照默认安装的话,很可能在进行远程连接时报错,通常是错误:"在连接到 SQL Server 2005时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败. (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) "搜MSDN,上面有一片机器翻译的

SQL Server 2008 评估期已过解决方法

SQL Server 2008有180天的试用期,过期后会提示“评估期已过”的提示. 1.进入SQL Server安装中心: 2.选择“维护”-“版本升级” 3.输入密钥: 其他的根据提示操作. 附SQL Server序列号: 开发版: PTTFM-X467G-P7RH2-3Q6CG-4DMYB企业版: JD8Y6-HQG69-P9H84-XDTPG-34MBB 如果以上操作后还提示评估期已过,修改注册表:KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsof

SQL Server 2005无法远程连接的解决方法 (转帖)

方法如下:  一.为 SQL Server 2005 启用远程连接1. 单击"开始",依次选择"程序"."Microsoft SQL Server 2005"."配置工具",然后单击"SQL Server 外围应用配置器". 2. 在"SQL Server 外围应用配置器"页上,单击"服务和连接的外围应用配置器". 3. 在"服务和连接的外围应用配置器&qu

SQL Server附加数据库出现错误5123的正确解决方法

SQL Server附加数据库出现错误5123的正确解决方法 因为自己有一本基于SQL Server 2005的数据库教程,里边使用的示例数据库是AdventureWorks for SQL Server 2005,而我的机子上装的是SQL Server 2008,示例数据库是AdventureWorks for SQL Server 2008.起初我以为示例数据库AdventureWorks for SQL Server 2005 与AdventureWorks for SQL Server