Microsoft は、Microsoft SQL Server 2008 R2 または Microsoft SQL Server 2008 の修正プログラムを1つのダウンロード可能なファイルとして配布します。 修正プログラムは累積的であるため、各新しいリリースには、以前の SQL Server 2008 R2 または SQL Server 2008 修正プログラムに含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。
現象
次のような状況で問題が発生します。
-
Microsoft SQL Server 2008 R2 または Microsoft SQL Server 2008 をコンピューターにインストールします。
-
ピアツーピアのトランザクションレプリケーションを構成して、テーブルの競合検出を有効にします。
-
後で、ピアツーピアのトランザクションレプリケーションの競合検出を無効にします。
-
テーブルの統計情報を更新します。
このシナリオでは、更新が失敗し、次のエラーメッセージが表示されます。
Msg 0、Level 11、State 0、Line 0A 重大なエラーが現在のコマンドで発生しました。 結果は破棄する必要があります。
さらに、アクセス違反の例外が発生し、ミニダンプファイルが SQL Server のエラーログフォルダーに生成されます。
原因
この問題は、データベースエンジンによって、未解決の統計情報が読み込まれていることが原因で発生します。 P2P の競合検出を有効にすると、MDColumnIdP2pCdId システム列がテーブルのベースインデックス行セットに追加されます。 レプリケーション関連のクエリは、自動的にシステム列に統計情報を作成することがあります。 P2P 競合検出が無効になっている場合、システム列はテーブルから削除されます。 ただし、対応する統計情報はそのまま残ります。 そのため、統計情報を更新すると、テーブルに統計情報を追加できないため、アクセス違反の例外が発生します。
解決方法
累積的な更新プログラムの情報
SQL Server 2008 R2 Service Pack 1
この問題の修正プログラムは、SQL Server 2008 R2 Service Pack 1 の累積更新プログラム4で最初にリリースされました。この累積的な更新プログラムパッケージの入手方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2633146 SQL Server 2008 R2 Service Pack 1 の累積更新プログラムパッケージ4注: ビルドは累積的であるため、各新しい修正プログラムには、以前の SQL Server 2008 R2 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
2567616 SQL Server 2008 R2 Service Pack 1 がリリースされた後にリリースされた SQL Server 2008 R2 ビルド
SQL Server 2008 R2
この問題の修正プログラムは、累積的な更新プログラム9で最初にリリースされました。SQL Server 2008 R2 用の累積的な更新プログラムパッケージの入手方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2567713 SQL Server 2008 R2 の累積更新プログラムパッケージ9 注: ビルドは累積的であるため、各新しい修正プログラムには、以前の SQL Server 2008 R2 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
981356 SQL Server 2008 R2 のリリース後にリリースされた SQL Server 2008 R2 ビルド
SQL Server 2008 Service Pack 2
この問題の修正プログラムは、SQL Server 2008 Service Pack 2 の累積更新プログラム3で最初にリリースされました。この累積的な更新プログラムパッケージの詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2498535 累積的な更新プログラムパッケージ 3 (SQL Server 2008 Service Pack 2)注: ビルドは累積的であるため、それぞれの新しい修正プログラムには、以前の SQL Server 2008 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
2402659 SQL Server 2008 Service Pack 2 がリリースされた後にリリースされた SQL Server 2008 ビルド Microsoft SQL Server 2008 修正プログラムは、特定の SQL Server サービスパック用に作成されます。 Sql server 2008 Service Pack 2 をインストールするには、SQL Server 2008 Service Pack 2 の修正プログラムを適用する必要があります。 既定では、SQL Server service pack に含まれているすべての修正プログラムは、次の SQL Server service pack に含まれています。この問題の修正プログラムは、SQL Server 2008 R2 の累積的な更新プログラムパッケージ6で最初にリリースされました。この累積的な更新プログラムパッケージの入手方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2489376 SQL Server 2008 R2 の累積的な更新プログラムパッケージ6注: ビルドは累積的であるため、各新しい修正プログラムには、以前の SQL Server 2008 R2 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
981356 SQL Server 2008 R2 のリリース後にリリースされた SQL Server 2008 R2 ビルド
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
詳細情報
ピアツーピアトポロジの構成ウィザードを使って、ピアツーピアレプリケーショントポロジの構成と保守を行う方法の詳細については、次の Microsoft 開発者ネットワーク (MSDN) web サイトを参照してください。
方法: ピアツーピアのトランザクションレプリケーションを構成する (SQL Server Management Studio)競合の検出の詳細については、次の MSDN web サイトを参照してください。
ピアツーピアレプリケーションでの競合の検出ソフトウェア更新プログラムに関する用語の関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。
824684 マイクロソフトのソフトウェアの更新で使用される一般的な用語の説明