KB2681514 - 修正: SQL Server 2008 R2 のトランザクション レプリケーション文書のテーブルの XML 列に空の文字列を挿入すると、レプリケーション ログ リーダー エージェントがクラッシュする

適用先
SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2008 R2 Workgroup SQL Server 2008 R2 Web

マイクロソフトでは、Microsoft SQL Server 2008 R2 の修正を 1 つのダウンロード可能なファイルとして配布しています。 修正は累積的であるため、新しいリリースの修正には、以前のリリースの SQL Server 2008 R2 の修正に含まれていたすべての修正プログラムおよびセキュリティ更新プログラムが含まれています。

現象

たとえば次のようなシナリオを考えてみます。

  • トランザクション レプリケーション文書を Microsoft SQL Server 2008 R2 のインスタンスで作成します。

  • 文書には、XML 列を持つテーブルが含まれています。

  • パブリケーションを初期化すると、次のいずれかのイベントがテーブルで発生します。

    • XML 列に空の文字列が含まれている行が挿入されます。
    • 行が更新されたときに、空の文字列を XML 列に挿入します。

このシナリオでは、レプリケーション ログ リーダー エージェントがクラッシュし、レプリケーションが失敗します。

注: この問題は、XML 列に NULL 値がある場合には発生しません。

解決策

累積的な更新プログラムの情報

SQL Server 2008 R2 Service Pack 1

この問題の修正プログラムは、累積的な更新プログラム 6 で最初にリリースされました。 SQL Server 2008 R2 Service Pack 1 用のこの累積的な更新プログラム パッケージを入手する方法の詳細については、以下のサポート技術情報番号をクリックしてください。

2679367 SQL Server 2008 R2 Service Pack 1 の累積的な更新プログラム パッケージ 6 注: ビルドは累積的であるため、新しい修正プログラムの各リリースには、以前の SQL Server 2008 R2 Service Pack 1 修正プログラムのリリースに含まれていたすべての修正プログラムおよびセキュリティ更新プログラムが含まれています。 この修正プログラムが含まれている最新リリースの修正の適用を検討することを推奨します。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。

2567616 SQL Server 2008 R2 Service Pack 1 以降にリリースされた SQL Server 2008 R2 のビルド

回避策

この問題を回避するには、次のガイドラインに従ってください。

  • XML 列には、空の文字列を含む行を挿入しないでください。
  • XML 列に空の文字列を挿入して行を更新しないでください。

状態

Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。

参考資料

レプリケーション ログ リーダー エージェントの詳細については、次の MSDN (Microsoft Developer Network) Web サイトを参照してください。

レプリケーション ログ閲覧者エージェントに関する一般的な情報