请帮忙看看以下错误该如何修复?
/*
任务开始: 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"的范围。请将该列更新为合法的值。
*/
/*
任务开始: 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"的范围。请将该列更新为合法的值。
*/
select OBJECT_NAME([object_id]) from sys.partitions
where partition_id=''找出对应的object,然后修改下对应列的数据类型范围吧。
select * from sys.allocation_units
/*
container_id 如果 type = 1 或 3,则 container_id = sys.partitions.hobt_id。如果 type 为 2,则 container_id = sys.partitions.partition_id。
*/
/*
在执行批处理时出现错误。错误消息为: 算术溢出。
*/
sp_help 'ac001'
但是执行查询select 却报错,仅提示如下信息
在执行批处理时出现错误。错误消息为: 算术溢出。table ac001 中orgadvoff字段属性如下
orgadvoff numeric no 9 12 2 yes (n/a) (n/a) NULL
再查询是否可以。select orgadvoff,* from ac001 where docno = 'SHP100101'
这样执行后仍然报错
那我觉得是你的数值太大了吧.试下,将类型更改为numeric(15,2),再按12楼进行转换..update ac001 set orgadvoff =cast(orgadvoff as numeric(15,2))