Select the product you need help with
修正: Microsoft SQL Server 2005年または SQL Server 2008年:: パブリッシャーとサブスクライバーを同期するディストリビューション エージェントを実行するとエラー メッセージ"(TDS) リモート プロシージャの呼び出し (RPC) プロトコル ストリームが incorr、着信の表形式のデータ ストリームを配信しています.文書番号: 973103 Microsoft Microsoft SQL Server 2005年修正プログラム 1 つのダウンロード ファイルとして配布しています。修正プログラムは累積的であるため、各新しいリリースすべての修正プログラムが含まれているし、以前の SQL Server 2005 に含まれていたすべてのセキュリティ修正プログラム リリースを修正します。 目次現象Microsoft SQL Server 2005 のトランザクション レプリケーションを使用します。パブリッシャーとサブスクライバーを同期するディストリビューション エージェントを実行すると、ディストリビューション エージェントが失敗し、または出力ログ配布エージェントの履歴で次のエラー メッセージが表示されます。 42000 (TDS) のリモート プロシージャ呼び出し (RPC) プロトコル ストリームが不適切です、着信の表形式のデータをストリームします。この RPC 要求にパラメーターが多すぎますが付属。最大数は 2100年です。8003 これらのエラーが繰り返し発生すると、パフォーマンスに影響することができます。このような障害が発生すると、ディストリビューション エージェントは再試行を処理する同じコマンドをもう一度します。そのため、ディストリビューション エージェントは各問題のバッチが 2 回試されますため、パブリッシャーとサブスクライバーを同期するのにはより多くの時間を使用します。 原因ディストリビューション エージェントは、ディストリビューション データベース内の保留中のコマンドを処理する場合、それを使用して、 CommitBatchSize パラメーターとは CommitBatchThreshold サブスクライバーにコマンドを送信するときにどのように多くのコマンド一緒 1 回の実行でバッチ処理されますを決定するパラメーターです。 は、 CommitBatchSize 前に、サブスクライバーが実行するトランザクションの数のパラメーターでは、 コミット ステートメントを実行します。既定値は 100 です。は、 CommitBatchThreshold 前に、サブスクライバーに実行するレプリケーション コマンドの数のパラメーターでは、 コミット ステートメントを実行します。既定値は 1000年です。 1 つのトランザクションが 1 つコマンドを含めることができますまたはコマンドの多くを含めることができますので、設定は、 CommitBatchSize パラメーターに設定し、100、 CommitBatchThreshold パラメーターには、1000年のコマンドの 1 つのバッチで配信するのには、いくつかの数千コマンドことができます。 パブリケーションにアーティクルを追加すると、 @ ins_cmd, @ upd_cmd、、 @ del_cmd レプリケーション コマンドの種類のパラメーターが指定されて、 sp_addarticle コマンドをサブスクライバーに配信する方法を決定するストアド プロシージャです。だけでなく、 CommitBatchSize と CommitBatchThreshold パラメーターは、ディストリビューション エージェントがサブスクライバーに送信される 1 つのバッチ コマンドの数のパラメーターをバインドできるは、SQL ネイティブ クライアント OLE DB プロバイダーの最大要件についても考慮しています 最大のコマンドの 1 つのバッチで使用できる 2100年パラメーターはありません。2100 パラメーターの最大値を超えないようにするには、ディストリビューション エージェントのため自動的に大規模なバッチには十分な 1 つのバッチ ステートメントだけで分割します。その後、自動的に次の実行バッチに、残りのコマンド、コマンド バッチ内に移動します。 この問題は、ディストリビューション エージェントが誤ってコマンドのバッチを配信するために必要なパラメーターの数を計算するときに発生します。動的なストアド プロシージャは、ディストリビューション エージェントを使用する場合に発生します sp_executesql 多数のレプリケートされたコマンドのバッチのラッパーとして。 レプリケートされたコマンド、バッチ コマンドで 2098 以上のパラメーターが含まれているし、「バッチ」コマンドを使用してラップ、 sp_executesql バッチを動的に作成した Transact SQL ステートメントをディストリビューション エージェントとして提供するストアド プロシージャは、計算には含まれていませんが、 sp_executesql ストアド プロシージャ 2 つのバインドされたパラメーター自体に機能が必要です。したがって、パラメーターの合計数 2100年パラメーターを超える可能性があります。 この配信の選択肢をラップ、動的に作成した Transact SQL ステートメントのディストリビューション エージェントを使用する可能性があります、 sp_executesql ストアド プロシージャは次の状況に:
解決方法SQL Server 2005この問題に対する修正は SQL Server 2005 Service Pack 3 用の累積的な更新 5 にまずリリースされました。この累積的な更新プログラム パッケージの詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。972511 メモ ビルドは累積的であるため、新しい修正プログラム リリースすべての修正プログラムが含まれているし、以前の SQL Server 2005 に含まれていたすべてのセキュリティ修正プログラム リリースを修正します。マイクロソフトはこの修正プログラムを含む最新の修正プログラム リリースを適用を検討することをお勧めします。詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
(http://support.microsoft.com/kb/972511
/LN/
)
SQL Server 2005 Service Pack 3 用の累積的な更新プログラム パッケージ 5960598 Microsoft SQL Server 2005年の特定の SQL Server のサービス パック修正プログラムが作成されます。SQL Server 2005 Service Pack 3 のインストールに SQL Server 2005 Service Pack 3 修正プログラムを適用する必要があります。既定では、SQL Server サービス パックで提供されている修正プログラム SQL Server の次の service pack に含まれてです。
(http://support.microsoft.com/kb/960598/LN/
)
SQL Server 2005 Service Pack 3 のリリース後にリリースされた、SQL Server 2005 のビルドします。SQL Server 2008SQL Server 2008重要です SQL Server 2008年のリリース バージョン実行している場合は、この修正プログラムを使用する必要があります。この問題に対する修正は累積的な更新プログラム 7 で初めてリリースされました。SQL Server 2008 年にこの累積的な更新プログラム パッケージの入手方法の詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。 973601 メモ ビルドは累積的であるため、各新しい修正プログラム リリースにはすべての修正プログラムが含まれています、以前の SQL Server 2008 に含まれていたすべてのセキュリティ修正プログラム リリースを修正します。この修正プログラムを含む最新の修正プログラム リリースを適用を検討することをお勧めします。詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
(http://support.microsoft.com/kb/973601/
)
SQL Server 2008年の累積的な更新プログラム パッケージ 7956909
(http://support.microsoft.com/kb/956909/
)
SQL Server の 2008 SQL Server 2008年のリリース以降後にリリースされたビルドします。SQL Server 2008 Service Pack 1 (SP1)重要です SQL Server 2008 Service Pack 1 (SP1) を実行している場合は、この修正プログラムを使用する必要があります。この問題に対する修正は SQL Server 2008 Service Pack 1 用の累積的な更新 4 にまずリリースされました。この累積的な更新プログラム パッケージの詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。 973602 メモ ビルドは累積的であるため、各新しい修正プログラム リリースにはすべての修正プログラムが含まれています、以前の SQL Server 2008 に含まれていたすべてのセキュリティ修正プログラム リリースを修正します。マイクロソフトはこの修正プログラムを含む最新の修正プログラム リリースを適用を検討することをお勧めします。詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
(http://support.microsoft.com/kb/973602/LN/
)
SQL Server 2008 Service Pack 1 用の累積的な更新プログラム パッケージ 4970365 Microsoft SQL Server 2008 SQL Server サービス ・ パックの特定の修正プログラムが作成されます。SQL Server 2008 Service Pack 1 をインストールする SQL Server 2008 Service Pack 1 の修正プログラムを適用する必要があります。既定では、SQL Server サービス パックで提供されている修正プログラム SQL Server の次の service pack に含まれてです。
(http://support.microsoft.com/kb/970365/LN/
)
SQL Server の 2008 SQL Server 2008 Service Pack 1 のリリース後にリリースされたビルドします。回避策この問題を回避するには、次の方法のいずれかを使用します。 方法 1このエラーは許容量以上のレベルを減らすための値を下げる、 CommitBatchSize と CommitBatchThreshold ディストリビューション エージェントのパラメーター。目的は、コマンドのバッチごとの 2,100 パラメーターを超えないようにするのには、コマンド 1 つのコミットのバッチの最大数を制限します。既定値などの CommitBatchSize パラメーターは、100 です。10 に変更できます。既定値は、 CommitBatchThreshold パラメーターは 1000年です。100 に変更できます。 バッチは、最初に最適なサイズで配信されないために、これらの値を小さくするとパフォーマンスにあります。ただし、この方法の「原因」に記載されているエラーを防ぐことができます。 変更することができます、 CommitBatchSize と CommitBatchThreshold 次の方法のいずれかを使用してパラメーターを指定します。
.aspx の http://msdn.microsoft.com/en-us/library/ms151326 (SQL.90)
(http://msdn.microsoft.com/en-us/library/ms151326(SQL.90).aspx)
完全にこのバッチのそれ以降の再試行のエラーを回避するために必要な場合は、最悪のシナリオを計画する必要があります。これを行うには、文書内の列数を持つ、最も幅の広い記事参照してください。たとえば、トランザクション パブリケーションでパブリッシュ、100 の列を持つテーブルがある場合は、そのテーブルに対して 1 つのレプリケートされたコマンド 100 パラメーターを含めることができます。軽減する必要があります、 CommitBatchThreshold ディストリビューション エージェントは、1 つのバッチで送信する必要がありますパラメーターの最大数が多くて 2098年なるように設定するパラメーター。すべての列のコマンドでは、影響を受ける場合は、 CommitBatchThreshold パラメーターの設定は 20 2000年パラメーターに対してそのテーブルの 20 のコマンドのバッチごとの最大のサイズを変更するがあります。 方法 2文書を設定すると、文書内のすべてのアーティクルに対して、同じレプリケーション コマンドの種類を使用します。バッチを使用して提供することを選択するのには、ディストリビューション エージェントの必要性を削減するのには、同じパブリケーション内のアーティクルのコマンド配信メカニズムの使用を避ける、 sp_executesql コマンドのバッチのラッパーとしてのストアド プロシージャです。状況詳細レプリケーション ディストリビューション エージェントの詳細については、次のマイクロソフト開発ネットワーク (MSDN) Web サイトを参照してください。 .aspx の http://msdn.microsoft.com/en-us/library/ms147328 (SQL.90)
(http://msdn.microsoft.com/en-us/library/ms147328(SQL.90).aspx)
レプリケーション エージェント プロファイルの詳細については、次のマイクロソフト開発ネットワーク (MSDN) Web サイトを参照してください。 .aspx の http://msdn.microsoft.com/en-us/library/ms151223 (SQL.90)
(http://msdn.microsoft.com/en-us/library/ms151223(SQL.90).aspx)
関連情報 SQL Server の増分サービス モデルの詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。 935897 SQL Server 2005 Service Pack 3 の入手方法の詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
(http://support.microsoft.com/kb/935897/
)
報告された問題に対する修正プログラムを提供するのには、SQL Server チームの増分サービス モデルを利用します。 913089 新機能では、SQL Server 2005 SP3 および SQL Server 2005 SP3 で改善の詳細については、次のマイクロソフト Web サイトを参照してください。
(http://support.microsoft.com/kb/913089/
)
SQL Server 2005 の最新の service pack を入手する方法 http://go.microsoft.com/fwlink/? か。LinkId 131442 = SQL Server 更新プログラムの名前付けスキーマの詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
(http://go.microsoft.com/fwlink/?LinkId=131442)
822499 ソフトウェアの更新の用語の詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
(http://support.microsoft.com/kb/822499/
)
Microsoft SQL Server のソフトウェア更新プログラム パッケージの新しい命名方式は 824684
(http://support.microsoft.com/kb/824684/
)
マイクロソフトのソフトウェア更新プログラムの説明に使用される一般的な用語の説明 プロパティ文書番号: 973103 - 最終更新日: 2011年7月20日 - リビジョン: 3.0
機械翻訳の免責 重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。 英語版 KB:973103
(http://support.microsoft.com/kb/973103/en-us/
)
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。 |












