現象
次のシナリオを検討してください。
-
SQL Server 2017 インスタンスで、 共通の条件準拠 (CCC) オプションを有効にします。
-
存在しない SQL ログインを使用して、SQL Server インスタンスにログインしようとしています。
-
管理者アカウントで SQL Server インスタンスにログインします。
-
Master データベースに対してDBCC CHECKDBコマンドを実行します。
このシナリオでは、次のようなエラーメッセージが表示されることがあります。
メッセージ2570、レベル16、状態2、Line LineNumberPage (#: #)、オブジェクト id #、インデックス id #、パーティション id #、アロケーションユニット ID # (「行内データ」と入力します)。列 "name" の値が、データ型 "nvarchar" の範囲外です。列を有効な値に更新します。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
解決方法
この問題は、SQL Server の次の累積的な更新プログラムで修正されています。
SQL Server の累積更新プログラムについて:
SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムを確認します。
回避策
この問題を回避するには、master データベースに対してDBCC CHECKDBコマンドを実行するときに DATA_PURITY のチェックを無効にするトレースフラグ (TF) 2566を有効にします。 ただし、これによって無効な行が master データベースに挿入されるのを防ぐことはできません。 DBCC CHECKDB の実行時にチェックを無効にするだけです。
参照情報
マイクロソフトでソフトウェア更新プログラムの説明に使用する用語集を参照してください。