Microsoft は、Microsoft SQL Server 2008 R2 Service Pack 1 の修正プログラムを1つのダウンロード可能なファイルとして配布します。 修正プログラムは累積的であるため、各新しいリリースには、以前の SQL Server 2008 R2 Service Pack 1 修正プログラムに含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。
現象
次のような状況で問題が発生します。
-
Microsoft SQL Server 2008 R2 または Microsoft SQL Server 2012 で、列に非クラスター化インデックスを作成します。
-
非クラスター化インデックスを削除します。
-
非クラスター化インデックスが作成された列の照合順序を変更します。
-
列に非クラスター化インデックスを再作成します。
このとき、次のエラー メッセージが表示されます。
Location: c:3392Expression: CompareRow (rightPageRow、* m_pSEBindings、keyCnt、* pHobtAccess、PAGE_LEAF_LEVEL) SPID: 53Process ID:32 Msg 3624、レベル20、状態1、行1A システムアサーションチェックが失敗しました。 詳細については、SQL Server エラーログを確認してください。 通常、アサーションエラーはソフトウェアバグまたはデータの破損が原因で発生します。 データベースが破損していないかどうかを確認するには、DBCC CHECKDB の実行を検討します。 セットアップ時に Microsoft にダンプを送信することに同意した場合は、ミニダンプが Microsoft に送信されます。 更新プログラムは、最新の Service Pack または QFE のテクニカルサポートから提供されている場合があります。 Msg 0、Level 20、State 0、Line 0A 重大なエラーが現在のコマンドで発生しました。 結果は破棄する必要があります。
注:この問題は、クエリ実行プランで並列処理を使うクエリを実行したときに発生します。
原因
この問題が発生するのは、ストレージエンジンメタデータの照合順序 ID がメタデータの照合 ID と同期されていないためです。
解決方法
累積的な更新プログラムの情報
SQL Server 2012 Service Pack 1 の累積的な更新プログラムパッケージ1
この問題の修正プログラムは、累積的な更新プログラム1で最初にリリースされました。SQL Server 2012 Service Pack 1 用の累積的な更新プログラムパッケージの入手方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2765331 SQL Server 2012 Service Pack 1 の累積的な更新プログラムパッケージ1注: ビルドは累積的であるため、それぞれの新しい修正プログラムには、以前の SQL Server 2012 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
2772858 SQL Server 2012 Service Pack 1 がリリースされた後にリリースされた SQL Server 2012 ビルド
SQL Server 2008 R2 Service Pack 2
この問題の修正プログラムは、累積的な更新プログラム3で最初にリリースされました。この累積的な更新プログラムパッケージを SQL Server 2008 R2 Service Pack 2 で入手する方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2754552 SQL Server 2008 R2 Service Pack 2 の累積更新プログラムパッケージ3 注: ビルドは累積的であるため、各新しい修正プログラムには、以前の SQL Server 2008 R2 Service Pack 2 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
2730301 SQL Server 2008 R2 Service Pack 2 がリリースされた後にリリースされた SQL Server 2008 R2 ビルド
SQL Server 2012
この問題の修正プログラムは、累積的な更新プログラム4で最初にリリースされました。SQL Server 2012 用の累積更新プログラムパッケージの入手方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2758687 SQL Server 2012 の累積更新プログラムパッケージ4 注: ビルドは累積的であるため、それぞれの新しい修正プログラムには、以前の SQL Server 2012 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
2692828 SQL Server 2012 がリリースされた後にリリースされた SQL Server 2012 ビルド
SQL Server 2008 R2 Service Pack 1
この問題の修正プログラムは、累積的な更新プログラム8で最初にリリースされました。SQL Server 2008 R2 Service Pack 1 用の累積更新プログラムパッケージの入手方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2723743 累積的な更新プログラムパッケージ 8 (SQL Server 2008 R2 Service Pack 1)注: ビルドは累積的であるため、各新しい修正プログラムには、以前の SQL Server 2008 R2 Service Pack 1 修正プログラムに含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
2567616 SQL Server 2008 R2 Service Pack 1 がリリースされた後にリリースされた SQL Server 2008 R2 ビルド
回避策
この問題を回避するには、非クラスター化インデックスを再作成するために使用するクエリに MAXDOP = 1 のクエリヒントオプションを追加します。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。