Microsoft は、Microsoft SQL Server 2008 R2 の修正プログラムを1つのダウンロード可能なファイルとして配布します。 修正プログラムは累積的であるため、新しいリリースごとに、以前の SQL Server 2008 R2 fix release に含まれていたすべての修正プログラムとセキュリティの修正プログラムが含まれています。
現象
次のような状況で問題が発生します。
-
SQL Server 2008 R2 で分割ビューを作成します。 たとえば、ビューという名前の分割ビューを作成し、 View1のメンバーテーブルのColA列にチェック制約を定義します。
-
分割ビューのメンバーテーブルの1つの列に対して、集合インデックスを作成します。 たとえば、 View1のメンバーテーブルのcolb列に対して集合インデックスを作成します。
-
メンバーテーブルの複数の列に複合非クラスター化インデックスを作成します。 これらの列には、クラスター化インデックスを持つ列が含まれます。 たとえば、 ColA、 colb、および View1のメンバーテーブル内の他の列に非クラスター化インデックスを作成します。
-
View1に対してupdateステートメントを実行して、 WHERE句のcolb列の述語を使用してColA列を更新します。
このシナリオでは、ステートメントを実行すると、次のエラーメッセージが表示されます。
Msg 208、レベル16、状態1、行1Invalid なオブジェクト名 ' View1 '。
さらに、ミニダンプファイルが SQL Server のログフォルダーに生成されます。 また、次のようなエラーメッセージが、SQL Server エラーログファイルのインデックスの破損について記録されます。
2010-12-01 16:40: 32.25 spid57 ' ' バージョン ' 4.0.5 ' 2010-12-01 16:40: 32.29 spid57 * * ダンプスレッド-spid = 0、EC = 0x0000000095C960F02010-12-01 16:40: 32.30 spid57 * * * E:\Microsoft SQL Server \ MSSQL10_50 にスタックダンプが送信されました。 MSSQLSERVER\MSSQL\LOG\SQLDump0001.txt2010-12-01 16:40: 32.30 spid57 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *-* *-*-* * * *-* * 2010-12-01 16:40: 32.30 spid57 * 2010-12-01 16:40: 32.30 spid57 * BEGIN STACK DUMP: 2010-12-01:40: 32.30 spid57 * 12/01/10 16:40:32 spid 572010-12-01 16:: 32.30 spid57 * 2010-12-01 16:: 32.30 spid57 * Cperindexqs:: ErrorAbort-インデックスの破損
原因
この問題は、SQL Server 2008 R2 のクエリオプティマイザーの回帰が原因で発生します。
解決方法
累積的な更新プログラムの情報
SQL Server 2008 R2 Service Pack 1
この問題の修正プログラムは、SQL Server 2008 R2 Service Pack 1 の累積更新プログラム1で最初にリリースされました。この累積的な更新プログラムパッケージの入手方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2544793 SQL Server 2008 R2 Service Pack 1 の累積的な更新プログラムパッケージ1注: ビルドは累積的であるため、各新しい修正プログラムには、以前の SQL Server 2008 R2 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
2567616 SQL Server 2008 R2 Service Pack 1 がリリースされた後にリリースされた SQL Server 2008 R2 ビルド
SQL Server 2008 R2
この問題の修正プログラムは、累積的な更新プログラム7で最初にリリースされました。SQL Server 2008 R2 用の累積的な更新プログラムパッケージの入手方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2507770 SQL Server 2008 R2 の累積更新プログラムパッケージ7 注: ビルドは累積的であるため、各新しい修正プログラムには、以前の SQL Server 2008 R2 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
981356 SQL Server 2008 R2 のリリース後にリリースされた SQL Server 2008 R2 ビルド
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
関連情報
SQL Server の分割ビューの詳細については、次の Microsoft 開発者ネットワーク (MSDN) web サイトを参照してください。
SQL Server の分割ビューに関する一般的な情報SQL Server の段階的サービスモデルの詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
935897 SQL Server チームが段階的なサービスモデルを利用して、報告された問題の修正プログラムを提供するSQL Server 更新プログラムの名前付けスキーマの詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
822499Microsoft SQL Server ソフトウェア更新プログラムパッケージの新しい名前付けスキーマソフトウェア更新プログラムの用語の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
824684 マイクロソフトのソフトウェアの更新で使用される一般的な用語の説明