FIX ディストリビューション エージェントの SubscriptionStreams パラメーター SQL Server の 2008 年の 1 よりも大きい値に設定すると、トランザクション レプリケーションを使用してバイナリ ラージ オブジェクト (BLOB) のデータを同期できません。

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

975171
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。
Microsoft Microsoft SQL Server 2008年の修正プログラム 1 つのダウンロード ファイルとして配布しています。修正プログラムは累積的であるため、各新しいリリースにはすべての修正プログラムが含まれています、以前の SQL Server 2008 に含まれていたすべてのセキュリティ修正プログラム リリースを修正します。
現象
次のシナリオを検討してください。
  • Microsoft SQL Server 2008 では、バイナリ ラージ オブジェクト (BLOB) 列を含むテーブルでのトランザクション レプリケーションを設定します。
  • 設定は、 SubscriptionStreams ディストリビューション エージェントが 1 より大きい値のパラメーターです。
  • バイナリ ラージ オブジェクト (BLOB) 列にデータを挿入します。データのサイズの値よりも大きいの OleDbStreamThreshold パラメーターです。

    メモ 既定値は、 OleDbStreamThreshold パラメーターは、16,384 バイトです。
このシナリオでデータを同期すると、次の現象が発生する可能性があります。

現象 1

ディストリビューション エージェントを停止するには、コマンドをレプリケートします。ディストリビューション エージェントの状態を 2 に設定します。2 に設定されているこの状態は、最後のコマンドが正常にレプリケートされたことを示します。ただしはまだいくつかの保留中のコマンド、ディストリビューター、サブスクライバーにレプリケートします。これらのコマンドには、バイナリ ラージ オブジェクト (BLOB) データが含まれています。バイナリ ラージ オブジェクト (BLOB) データのサイズの値よりも大きいの OleDbStreamThresold パラメーターです。さらに、次のエラー メッセージをディストリビューション エージェント ログに記録されます。

日付 時間 利用可能なレプリケートされたトランザクションはありません。
日付 時間 複製エージェントの状態: 2
日付 時間 警告は、msdb に追加.sysreplicationalerts: ErrorId = 0、
トランザクション Seqno = トランザクションのシーケンス番号、コマンド ID = 1
メッセージ: 複製レプリケーション ディストリビューション サブシステム: エージェント ディストリビューション エージェントの名前 成功しました。利用可能なレプリケートされたトランザクションはありません。OLE DB サブスクライバー 'サブスクライバーの名前': exec dbo.sp_MSupdatelastsyncinfo N'サブスクライバーの名前'、N'データベース名', テーブル名' は 0、2、N'No トランザクションはレプリケート可能します '。

現象 2

ディストリビューション エージェントは正常に実行されません。ディストリビューション エージェントの状態は 6 です。次のエラー メッセージは、ディストリビューション エージェント ログに記録されます。

日付 時間 エージェント メッセージ コード 20046。複製エージェントの状態: 6
日付 時間 ErrorId = 22、SourceTypeId = 2 =ErrorCode '20046' =
ErrorText = '
日付 時間 警告は、msdb に追加.sysreplicationalerts: ErrorId = 22、
トランザクション Seqno ID コマンドを 00000021000000d1004800000000 を = = 1
メッセージ: 複製レプリケーション ディストリビューション サブシステム: エージェント< distribution="" agent="" name="">に失敗しました。ErrorId = 22、SourceTypeId = 1
ErrorCode = '
ErrorText = ' 場合 @ @trancount の値 > 0 ロールバック トランザクション '
上記のエラーに加えて、MSrepl_errors テーブルがディストリビューション データベースに次のエラーが記録されます。
ディストリビューション エージェントは、' C:\Program ただし SQL Server\100\COM' ディレクトリに一時ファイルを作成できませんでした。システム 32 の errorcode を返しました。
解決方法
この問題に対する修正は SQL Server 2008 Service Pack 1 用の累積的な更新 4 にまずリリースされました。この累積的な更新プログラム パッケージの詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
973602 SQL Server 2008 Service Pack 1 用の累積的な更新プログラム パッケージ 4
メモ ビルドは累積的であるため、各新しい修正プログラム リリースにはすべての修正プログラムが含まれています、以前の SQL Server 2008 に含まれていたすべてのセキュリティ修正プログラム リリースを修正します。マイクロソフトはこの修正プログラムを含む最新の修正プログラム リリースを適用を検討することをお勧めします。詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
970365 SQL Server の 2008 SQL Server 2008 Service Pack 1 のリリース後にリリースされたビルドします。
Microsoft SQL Server 2008 SQL Server サービス ・ パックの特定の修正プログラムが作成されます。SQL Server 2008 Service Pack 1 をインストールする SQL Server 2008 Service Pack 1 の修正プログラムを適用する必要があります。既定では、SQL Server サービス パックで提供されている修正プログラム SQL Server の次の service pack に含まれてです。
回避策
この問題を回避するには、次の方法のいずれかを使用します。

方法 1

設定は、 SubscriptionStreams 値を 1 に、ディストリビューション エージェントのパラメーター。

方法 2

設定できます、 OleDbStreamThreshold パラメーターのディストリビューション エージェント バイナリ ラージ オブジェクト (BLOB) 列をレプリケートする必要があるの最大データ サイズよりも大きい値にします。その後、ディストリビューション エージェント バイナリ ラージ オブジェクト (BLOB) データをストリームとしてバインドできません。バイナリ ラージ オブジェクト (BLOB) データのデータ サイズの値よりも小さいと SQL Server 2008 を開始、バイナリ ラージ オブジェクト (BLOB) データをストリームとしてバインドされます、 OleDbStreamThreshold パラメーターです。この動作は、既定では true です。

メモ このメソッドを使用すると、ディストリビューション エージェント バイナリ ラージ オブジェクト (BLOB) 列をレプリケートする時間がかかります。
状況
マイクロソフトでは、この「対象」に記載されているマイクロソフト製品の問題として認識しています。
関連情報
詳細については、 OleDbStreamThreshold パラメーターは、次のマイクロソフト開発ネットワーク (MSDN) Web サイトを参照してください。SQL Server の増分サービス モデルの詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
935897報告された問題に対する修正プログラムを提供するのには、SQL Server チームの増分サービス モデルを利用します。

SQL Server 更新プログラムの名前付けスキーマの詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
822499Microsoft SQL Server のソフトウェア更新プログラム パッケージの新しい命名方式は

ソフトウェアの更新の用語の詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
824684 マイクロソフトのソフトウェア更新プログラムの説明に使用される一般的な用語の説明

警告: この資料は、自動翻訳されています

プロパティ

文書番号:975171 - 最終更新日: 12/10/2015 22:03:05 - リビジョン: 5.0

  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Workgroup
  • kbnosurvey kbarchive kbsurveynew kbfix kbqfe kbexpertiseadvanced kbmt KB975171 KbMtja
フィードバック