現在、dbcc DATA_PURITYは、7.561407E-42など、一部の列の正常でない実際の値について文句を言います。私はむしろそれらを自分のテーブルに保持し、dbccにそれらを無視するように依頼したいと思います。
上限のチェック、および他の列タイプのその他のチェックで問題ありません。だから私はむしろユーティリティを実行し続けたいのですが、正当な非常に低い値について文句を言うのをやめさせます。
それを達成する方法はありますか?
DBCC CHECKDB WITH DATA_PURITY
の全体的な目的は、データベースで無効な列値または範囲外の列値をチェックすることです。
SQL Server 2000では、Float、real、datetimeなどの特定のデータ型の列に範囲外の値を格納することが可能でした。ただし、SQL 2005以降では、SQLServerはこれらの範囲外の値にフラグを立てます。次のように 単精度浮動小数点形式 。 @PaulWhiteの答えを確認してください ここ 。
から [〜#〜] bol [〜#〜] :
DBCC CHECKDBは、日時データ型の許容範囲よりも大きいまたは小さい日付と時刻の値を持つ列を検出します。または、スケール値または精度値が無効な10進数または近似数値のデータ型列。
KB923247 で説明されているように、報告されたエラーを修正する必要があります。