请帮忙看看以下错误该如何修复?
/*
任务开始: 2010-09-08T04:57:50。
任务结束: 2010-09-08T05:01:24。
失败:(-1073548784) 执行查询“DBCC CHECKDB WITH NO_INFOMSGS
”失败,错误如下:“页 (1:263346),槽 10 位于对象 ID 304212334,索引 ID 1,分区 ID 72057608279949312,分配单元 ID 72057608241872896 (类型为"In-row data")中。列 "orgadvoff" 的值超出了数据类型"numeric"的范围。请将该列更新为合法的值。
页 (1:263346),槽 13 位于对象 ID 304212334,索引 ID 1,分区 ID 72057608279949312,分配单元 ID 72057608241872896 (类型为"In-row data")中。列 "nttax" 的值超出了数据类型"numeric"的范围。请将该列更新为合法的值。
页 (1:263347),槽 8 位于对象 ID 304212334,索引 ID 1,分区 ID 72057608279949312,分配单元 ID 72057608241872896 (类型为"In-row data")中。列 "advoff" 的值超出了数据类型"numeric"的范围。请将该列更新为合法的值。
页 (1:263348),槽 0 位于对象 ID 304212334,索引 ID 1,分区 ID 72057608279949312,分配单元 ID 72057608241872896 (类型为"In-row data")中。列 "exchange" 的值超出了数据类型"numeric"的范围。请将该列更新为合法的值。
*/

解决方案 »

  1.   


    select OBJECT_NAME([object_id]) from sys.partitions
    where partition_id=''找出对应的object,然后修改下对应列的数据类型范围吧。
      

  2.   


    select * from sys.allocation_units
    /*
    container_id 如果 type = 1 或 3,则 container_id = sys.partitions.hobt_id。如果 type 为 2,则 container_id = sys.partitions.partition_id。
     
    */
      

  3.   

    +100分继续求助我现在已经找到那条错误的记录,但是查询该记录系统却报错,请教该怎么处理呢?select orgadvoff,* from ac001 where docno = 'SHP100101' 
    /*
    在执行批处理时出现错误。错误消息为: 算术溢出。
    */
      

  4.   

    没碰到过 重新update不可以吗
      

  5.   

    先执行DBCC CHECKDB(dbname,REPAIR_REBUILD) 再看看。
      

  6.   

    贴出详细错误信息。以及如下语句结果
    sp_help 'ac001'
      

  7.   

    我update ac001 set orgadvoff=0 where docno='SHP100101' 提示执行成功,
    但是执行查询select 却报错,仅提示如下信息

    在执行批处理时出现错误。错误消息为: 算术溢出。
    table ac001 中orgadvoff字段属性如下
    orgadvoff numeric no 9 12    2     yes (n/a) (n/a) NULL
      

  8.   

    建议楼主将所有的数据都更新一扁,再查询下。update ac001 set orgadvoff =cast(orgadvoff as numeric(12,2)) 
    再查询是否可以。select orgadvoff,* from ac001 where docno = 'SHP100101' 
      

  9.   

    update ac001 set orgadvoff =cast(orgadvoff as numeric(12,2)) 
    这样执行后仍然报错
      

  10.   


    那我觉得是你的数值太大了吧.试下,将类型更改为numeric(15,2),再按12楼进行转换..update ac001 set orgadvoff =cast(orgadvoff as numeric(15,2))