2

みなさん、こんにちは。

SQL Server 2008でストアドプロシージャを並行して実行したいと思います。外部ツール(SSIS、CLR)は使用しません。私はrusanuのブログに記載されているアプローチを取ることに決め、サービスブローカーを利用しようとしました。

次に、並列実行に移ります。MAX_QUEUE_READERSを5に設定し、長時間実行されるいくつかのプロシージャを実行しようとしました。私は気づきました、彼らはまだ連続して実行されました。私は彼らが異なる会話をしていると思いますので、アクティベーションは数回行われるはずです。私が間違って仮定しているなら、私を訂正してください。

説明ありがとうございます。

4

1 に答える 1

3

アクティベーションは、最大5秒ごとに1つの新しいスレッドを起動します。ただし、その5秒間に、キューの一番下にヒットするRECIEVEがある場合に限ります(空の結果セットが返されます)。したがって、5つのスレッドを達成するには、最初に20秒間待機する必要があり、その20秒間は、スレッドがアイドル状態にならないように十分なメッセージが必要です。

于 2012-11-25T17:25:21.303 に答える