Re: Error 2570 in SQL Server
- From: Erland Sommarskog <esquel@xxxxxxxxxxxxx>
- Date: Wed, 03 Jun 2009 01:33:11 -0700
samjoseph74 via SQLMonster.com (u52157@uwe) writes:
When I check my database integrity using DBCC CHECKDB with DATA_PURITY
option enabled and it gives the below error message:
Msg 2570, Level 16, State 2, Line 1
Page %S_PGID, slot %d in Object %d Index %d Column %.*ls value %.*ls is
out of range for data type "%.*ls". Update column to a legal value.
Please suggest me what I do to overcome this problem.
The exact meaning of the error message is this: for some data types, not
all bit patterns are legal values. For instance, for a datetime column,
it is possible to compose a bit pattern such that the year is > 9999. The
DATA_PURITY check reveal such problems.
This problem could indicate a hardware problem, and that data has not been
written properly to disk. However, if this is a database upgraded from
SQL2000, it could be illegal data that sneaked because of insufficient
checks in BCP and similar. I believes that all such holes have been closed
in SQL 2005, or at least Microsoft thinks so.
To address this, you need to locate the bad row. In the error message you
posted, the placeholders in the message are not replaced with actual values.
Did the output really look that way? Without that information, this is a bit
of a needle in a haystack...
--
Erland Sommarskog, SQL Server MVP, esquel@xxxxxxxxxxxxx
Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodinfo/previousversions/books.mspx
.
- References:
- Error 2570 in SQL Server
- From: samjoseph74 via SQLMonster.com
- Error 2570 in SQL Server
- Prev by Date: Re: Free tool for DB compare
- Next by Date: Could not find stored procedure - But it's there.
- Previous by thread: Re: Error 2570 in SQL Server
- Next by thread: Re: Error 2570 in SQL Server
- Index(es):
Relevant Pages
|