Discussion:
Error 2570 in SQL Server
(too old to reply)
samjoseph74 via SQLMonster.com
2009-06-03 07:31:40 UTC
Permalink
Hi,

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.
--
Message posted via http://www.sqlmonster.com
Uri Dimant
2009-06-03 07:47:11 UTC
Permalink
Hi
It looks like you have a corrupted database, do you have last good backup?
Post by samjoseph74 via SQLMonster.com
Hi,
When I check my database integrity using DBCC CHECKDB with DATA_PURITY option
“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.
--
Message posted via http://www.sqlmonster.com
Erland Sommarskog
2009-06-03 08:33:11 UTC
Permalink
Post by samjoseph74 via SQLMonster.com
When I check my database integrity using DBCC CHECKDB with DATA_PURITY
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, ***@sommarskog.se

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
Davidpoul via SQLMonster.com
2009-06-09 07:03:01 UTC
Permalink
To correct your issue, you need to follow any of the below methods:

You should find the affected rows and manually update them with correct
values. To do this, you can execute T-SQL (Transact-SQL) queries against the
table or alternatively, refer to the information provided by error 2570. You
can set it to any of acceptable default or specific value.

Note: You can’t run DBCC command to repair the database as it can’t
determine
the value to be placed instead of invalid column value.

In case if affected rows are large in number and it is not possible to update
them manually, you can restore them from backup
If the above measure is not feasible because of backup unavailability or
corruption, you need to use MDF Recovery applications to safely repair and
restore your database. Such MDF Repair software use powerful scanning
algorithms and offer advanced repair and restoration options together with
interactive user interface. I like to suggest Stellar Phoenix SQL Recovery
which is the foremost SQL Repair tool to repair damaged SQL databases and mdf
files.
Post by samjoseph74 via SQLMonster.com
Hi,
When I check my database integrity using DBCC CHECKDB with DATA_PURITY option
“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.
--
David Poul
http://www.mssqldatabaserecovery.com

Message posted via SQLMonster.com
http://www.sqlmonster.com/Uwe/Forums.aspx/sql-server-programming/200906/1
Uri Dimant
2009-06-03 07:47:11 UTC
Permalink
Hi
It looks like you have a corrupted database, do you have last good backup?
Post by samjoseph74 via SQLMonster.com
Hi,
When I check my database integrity using DBCC CHECKDB with DATA_PURITY option
“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.
--
Message posted via http://www.sqlmonster.com
r***@gmail.com
2012-07-17 09:33:10 UTC
Permalink
Hi sam,

It's seems that your sql database is corrupted have you your database backup if you not have no problem you can get back your data with the help of Kernel for SQL Recovery tool which is capable to repair Server SQL database accurately in less time. It recovers MDF files that are corrupted or damaged due to virus attacks, system shut down errors or due to network problems. The tool succeeds in recovering entire MDF file data, including procedures, indexes, private keys, public keys, predefined default values etc. New database is created automatically that contains entire recovered items.you can download this software from here http://www.sqldatabaserepair.net
Continue reading on narkive:
Loading...