現象
Microsoft SQL Server 2012 で tempdb.sys.allocation_units テーブルを照会することを前提としています。 クエリで NOLOCK ヒントを使用した場合、または READ UNCOMMITED transaction 分離レベルの下にクエリがある場合、次の断続的な608エラーメッセージが表示されます。
エラー: 608 の重大度:16 状態: 1 データベース <データベース名> のパーティション <ID> のカタログエントリが見つかりません。 メタデータに一貫性がありません。 DBCC CHECKDB を実行してメタデータが破損していないかどうかを確認する
注: DBCC CHECKDBコマンドでは、データベースの破損の兆候は表示されません。
原因
この問題は、古いメタデータのダーティな読み取りが原因で発生します。
解決方法
この問題は、SQL Server の次の累積的な更新プログラムで最初に修正されました。
SQL Server 2012 SP2 の累積更新プログラム4 /en-us/help/3007556
SQL Server 2012 SP1 の累積更新プログラム13 /en-us/help/3002044
SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムを確認します。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。