Microsoft は、Microsoft SQL Server 2008 Service Pack 2 (SP2) の修正プログラムを1つのダウンロード可能なファイルとして配布します。 修正プログラムは累積的であるため、新しいリリースごとに、以前の SQL Server 2008 SP2 更新プログラムに含まれていたすべての修正プログラムとセキュリティ更新プログラムが含まれています。
現象
Microsoft SQL Server 2008 または Microsoft SQL Server 2008 R2 でマージレプリケーションの同期中にクエリがタイムアウトすると、非収束またはデータの損失が発生することがあります。 ただし、マージエージェントはマージレプリケーションを正常に終了します。注意事項
-
この問題は、次のいずれかのシナリオで発生する可能性があります。
-
パブリッシャーからサブスクライバーへの変更を同期すると、サブスクライバーがパブリッシャーからデータをダウンロードしている間、クエリはサブスクライバーでタイムアウトします。
-
サブスクライバーからパブリッシャーへの変更を同期し、パブリッシャーがサブスクライバーからデータをダウンロードしている間は、クエリがパブリッシャーでタイムアウトします。
-
-
この問題は、クエリのタイムアウトが次のいずれかの条件によって発生した場合に発生します。
-
更新 ロックは、実行時間の長いトランザクションを実行している間、行またはテーブルに保持されます。
-
もう1つのレプリケーションエージェントは、テーブルに対してデータの入力規則の操作を実行します。
-
別のレプリケーションエージェントが行またはテーブルをブロックしています。
-
-
マージエージェントによって次のタイムアウトメッセージが記録される場合があります。
クエリがタイムアウトしたため、マージプロセスでクエリの実行に失敗しました。 このエラーが引き続き発生する場合は、プロセスのクエリタイムアウトを増やします。
原因
この問題は、クエリタイムアウトが発生したときに、サブスクライバーでマージレプリケーションを実行するトランザクションがコミットまたはロールバックされないために発生します。 新しいトランザクションが開き、前のトランザクションが開いている状態でマージレプリケーションが続行されます。 サブスクライバーの行またはテーブルがブロックされなくなると、新しいトランザクションはマージレプリケーションを正常に終了します。 ただし、前回のトランザクションは、マージエージェントがマージレプリケーションを完了し、この接続を切断したときにロールバックされます。 そのため、サブスクライバーで非収束またはデータの損失が発生します。
解決方法
累積的な更新プログラムの情報
SQL Server 2008 R2
この問題の修正プログラムは、累積的な更新プログラム10で最初にリリースされました。SQL Server 2008 R2 用の累積的な更新プログラムパッケージの入手方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2591746 SQL Server 2008 R2 の累積的な更新プログラムパッケージ10 注: ビルドは累積的であるため、各新しい修正プログラムには、以前の SQL Server 2008 R2 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
981356 SQL Server 2008 R2 のリリース後にリリースされた SQL Server 2008 R2 ビルド
SQL Server 2008 R2 Service Pack 1
この問題の修正プログラムは、SQL Server 2008 R2 Service Pack 1 の累積更新プログラム3で最初にリリースされました。この累積的な更新プログラムパッケージの入手方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2591748 SQL Server 2008 R2 Service Pack 1 の累積更新プログラムパッケージ3注: ビルドは累積的であるため、各新しい修正プログラムには、以前の SQL Server 2008 R2 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
2567616 SQL Server 2008 R2 Service Pack 1 がリリースされた後にリリースされた SQL Server 2008 R2 ビルド
SQL Server 2008 SP2 の累積的な更新プログラムパッケージ6
この問題の修正プログラムは、累積的な更新プログラムパッケージ6で最初にリリースされました。SQL Server 2008 SP2 用の累積更新プログラムパッケージの入手方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2582285 SQL Server 2008 Service Pack 2 の累積更新プログラムパッケージ6注: ビルドは累積的であるため、新しい更新プログラムの各リリースには、以前の SQL Server 2008 SP2 更新プログラムに含まれていたすべての修正プログラムとセキュリティ更新プログラムが含まれています。 この修正プログラムを含む最新の更新プログラムのリリースを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
2402659 SQL Server 2008 Service Pack 2 がリリースされた後にリリースされた SQL Server 2008 ビルド
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。