Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

Currently dbcc DATA_PURITY complains about subnormal real values in some of my columns, such as 7.561407E-42. I would rather keep them in my tables, and ask dbcc to ignore them.

I am OK with the check on upper limit, and other checks on other column types. So I would rather keep running the utility, but have it stop complaining about legitimate very low values.

Is there a way to accomplish that?

share|improve this question

1 Answer 1

The whole purpose of DBCC CHECKDB WITH DATA_PURITY is to check the database for column values that are not valid or are out-of-range.

In sql server 2000, it was possible to store out-of-range values in columns of certain datatypes like Float,real, datetime, etc. But moving from SQL 2005 and up, SQL Server will flag out those out-of-range values as it follows Single-precision floating-point format. Check @PaulWhite's answer here.

From BOL :

DBCC CHECKDB detects columns with date and time values that are larger than or less than the acceptable range for the datetime data type; or decimal or approximate-numeric data type columns with scale or precision values that are not valid.

You must fix those errors reported as described in KB923247.

share|improve this answer
    
I think dbcc could do better - subnormal real values are valid. As such, they should not be considered out of range. –  A-K Jan 27 at 16:12
    
@AlexKuznetsov Seems like it as pointed out by PaulWhite. Also, agree that DBCC should not point out subnormal values as out-of-range. Also, the link that I referenced, you are the one who is the OP :-) –  Kin Jan 27 at 16:16

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.