DBCC CHECKDB WITH DATA_PURITY gives out of range error

Posted by Mark Allison on Stack Overflow See other posts from Stack Overflow or by Mark Allison
Published on 2010-06-17T09:21:00Z Indexed on 2010/06/17 9:23 UTC
Read the original article Hit count: 224

Filed under:
|

Hi there,

I have restore a SQL Server 2000 database onto SQL Server 2005 and then run DBCC CHECKDB WITH DATA_PURITY and I get this error:

Msg 2570, Level 16, State 3, Line 2
Page (1:19558), slot 13 in object ID 181575685, index ID 1, partition ID 293374720802816, alloc unit ID 11899744092160 (type "In-row data"). Column "NumberOfShares" value is out of range for data type "numeric".  Update column to a legal value.

The column NumberOfShares is a numeric (19,6) data type. If I run the following

select max (NumberOfShares) from AUDIT_Table
select min (NumberOfShares) from AUDIT_Table

I get:

22678647.839110
-1845953000.000000

These values are inside the bounds of a numeric (19,6) so I'm not sure why the DBCC check fails. Any ideas to find out why it fails? Do I need to use DBCC PAGE? How would you troubleshoot this?

Thanks, Mark.

© Stack Overflow or respective owner

Related posts about sql-server

Related posts about dbcc