メッセージ キュー タスク

メッセージ キュー タスクでは、Message Queuing (MSMQ) を使用して、SQL ServerIntegration Services パッケージ間でメッセージを送受信したり、カスタム アプリケーションによって処理されるアプリケーションのキューにメッセージを送信することができます。これらのメッセージは、簡単なテキスト形式、ファイル、変数、またはそれらの値です。

メッセージ キュー タスクを使用することにより、企業の組織全体の操作を調整できます。送信先が使用できない場合やビジーの場合、メッセージをキューに入れ、後で配信できます。たとえば、送信先が販売担当者のオフラインのラップトップ コンピュータの場合、キューにメッセージが入れられ、販売担当者はネットワークに接続したときに受信できます。メッセージ キュー タスクは、次の目的で使用できます。

  • 他のパッケージがチェックインするまでタスクの実行を遅らせることができます。たとえば、各小売り店舗で夜間のメンテナンスが終了した後、メッセージ キュー タスクは本社のコンピュータにメッセージを送信します。この本社のコンピュータで実行するパッケージには複数のメッセージ キュー タスクが含まれており、それぞれが個々の店舗からのメッセージを待機しています。メッセージが店舗から到着すると、タスクは店舗のデータをアップロードします。すべての店舗がチェックインしたら、パッケージは合計を集計します。

  • データ ファイルを処理するコンピュータに、データ ファイルを送信できます。たとえば、レストランの会計レジの出力をデータ ファイル メッセージとして給与計算システムに送信して、ウェイターのチップに関するデータを抽出できます。

  • 企業の組織全体にファイルを配信できます。たとえば、あるパッケージでメッセージ キュー タスクを使用して、別のコンピュータにパッケージ ファイルを送信できます。送信先のコンピュータで実行するパッケージは、メッセージ キュー タスクを使用してパッケージをローカルに取得し保存します。

メッセージ キュー タスクは、メッセージの送受信時に、"データ ファイル"、"文字列"、"文字列メッセージを変数に指定"、"変数" の 4 つのうちのいずれかのメッセージ型を使用します。"文字列メッセージを変数に指定" メッセージ型は、メッセージの受信時にのみ使用できます。

また、メッセージで SQL Server 2000 形式を使用するように、タスクを構成することもできます。

タスクは MSMQ 接続マネージャを使用して、メッセージ キューに接続します。詳細については、「MSMQ 接続マネージャ」を参照してください。メッセージ キューの詳細については、MSDN ライブラリを参照してください。

メッセージ キュー タスクには、Integration Services サービスのインストールが必要です。SQL Server インストール ウィザードの [インストールするコンポーネント] ページまたは [機能の選択] ページでインストールの選択をした SQL Server コンポーネントによっては、Integration Services コンポーネントのサブセットの一部がインストールされます。これらのコンポーネントは、特定のタスクでは便利ですが、Integration Services の機能は限定されます。たとえば、Business Intelligence Development Studio のオプションでは、パッケージをデザインするために必要な Integration Services コンポーネントがインストールされますが、Integration Services サービスはインストールされません。したがって、メッセージ キュー タスクは機能しません。Integration Services を完全にインストールするには、[インストールするコンポーネント] ページで Integration Services を選択する必要があります。メッセージ キュー タスクのインストールと実行の詳細については、「Integration Services のインストールに関する注意点」および「64 ビット コンピュータ上の Integration Services に関する注意点」を参照してください。

注意注意

コンピュータのオペレーティング システムが FIPS モードで構成され、タスクで暗号化が使用されている場合は、メッセージ キュー タスクは Federal Information Processing Standard (FIPS) 140-2 に準拠することができません。メッセージ キュー タスクで暗号化が使用されていない場合は、タスクを正常に実行することができます。

メッセージ型

メッセージ キュー タスクで用意されているメッセージ型は、次の方法で構成できます。

  • "データ ファイル" メッセージは、ファイルにメッセージが含まれることを指定します。メッセージを受信するときに、タスクによってファイルを保存したり既存のファイルを上書きできるように、また、タスクによってメッセージを受信できるパッケージを指定するように、タスクを構成できます。

  • "文字列" メッセージは、メッセージを文字列として指定します。メッセージを受信するときに、タスクが受信した文字列とユーザー定義の文字列とを比較したり、比較に基づいて処理を実行するように構成できます。文字列比較では、完全な比較、大文字と小文字を区別する比較、大文字と小文字を区別しない比較、またはサブストリングを使用した比較を設定できます。

  • "文字列メッセージを変数に指定" では、基になるメッセージを、送信先の変数に送信される文字列として指定できます。完全な比較、大文字と小文字を区別しない比較、またはサブストリングの比較を使用して、受信した文字列とユーザー定義の文字列とを比較するようにタスクを構成できます。このメッセージ型は、タスクがメッセージを受信するときにのみ使用できます。

  • "変数" メッセージは、メッセージが 1 つ以上の変数を含むことを指定します。タスクは、メッセージに含まれる変数の名前を指定するように構成できます。メッセージを受信するときに、メッセージを受信するパッケージおよびメッセージの送信先となる変数の両方を指定するようにタスクを構成できます。

メッセージの送信

メッセージ キュー タスクを構成してメッセージを送信する場合、メッセージ キュー テクノロジで現在サポートされている暗号化アルゴリズム (RC2 および RC4) のいずれかを使用してメッセージを暗号化できます。現在、いずれの暗号化アルゴリズムも、メッセージ キュー テクノロジでまだサポートされていない最新のアルゴリズムと比較して、暗号強度の弱さが指摘されています。そのため、メッセージ キュー タスクを使用してメッセージを送信する場合は、暗号化の要件を慎重に検討してください。

メッセージの受信

メッセージ キュー タスクは、メッセージを受信する場合に次の方法で構成できます。

  • メッセージをバイパスするか、またはメッセージをキューから削除します。

  • タイムアウトを指定します。

  • タイムアウトが発生した場合には失敗します。

  • メッセージが "データ ファイル" に格納されている場合、既存のファイルを上書きします。

  • メッセージが "データ ファイル" メッセージ型を使用している場合、メッセージ ファイルを別のファイル名で保存します。

その他の関連タスク

Integration Services には、電子メール メッセージを送信するタスクが含まれています。

このタスクの詳細については、次のトピックを参照してください。

メッセージ キュー タスクで使用できるカスタム ログ メッセージ

次の表は、メッセージ キュー タスクのカスタム ログ エントリの一覧です。詳細については、「パッケージへのログ機能の実装」および「ログ記録用のカスタム メッセージ」を参照してください。

ログ エントリ

説明

MSMQAfterOpen

タスクで開いていたメッセージ キューを終了したことを示します。

MSMQBeforeOpen

タスクがメッセージ キューを開く操作を開始したことを示します。

MSMQBeginReceive

タスクがメッセージの受信を開始したことを示します。

MSMQBeginSend

タスクがメッセージの送信を開始したことを示します。

MSMQEndReceive

タスクがメッセージの受信を終了したことを示します。

MSMQEndSend

タスクがメッセージの送信を終了したことを示します。

MSMQTaskInfo

タスクに関する説明情報を提供します。

MSMQTaskTimeOut

タスクがタイムアウトしたことを示します。

メッセージ キュー タスクの構成

プロパティを設定するには SSIS デザイナから行うか、またはプログラムによって設定します。

SSIS デザイナで設定できるプロパティの詳細については、次のトピックのいずれかを参照してください。

SSIS デザイナでこれらのプロパティを設定する方法については、次のトピックを参照してください。

プログラムによるメッセージ キュー タスクの構成

プログラムによってこれらのプロパティを設定する方法については、次のトピックを参照してください。

Integration Services のアイコン (小) 最新の Integration Services の入手

マイクロソフトが提供する最新のダウンロード、アーティクル、サンプル、ビデオ、およびコミュニティで選択されたソリューションについては、MSDN または TechNet の Integration Services のページを参照してください。

これらの更新が自動で通知されるようにするには、ページの RSS フィードを購読します。