メッセージ キュー タスク
更新 : 2006 年 7 月 17 日
メッセージ キュー タスクでは、Message Queuing (MSMQ) を使用して、SQL Server Integration Services パッケージ間でメッセージを送受信したり、カスタム アプリケーションによって処理されるアプリケーションのキューにメッセージを送信することができます。これらのメッセージは、簡単なテキスト形式、ファイル、変数、またはそれらの値です。
メッセージ キュー タスクを使用することにより、企業の組織全体の操作を調整できます。送信先が使用できない場合やビジーの場合、メッセージをキューに入れ、後で配信できます。たとえば、送信先が販売担当者のオフラインのラップトップ コンピュータの場合、キューにメッセージが入れられ、販売担当者はネットワークに接続したときに受信できます。メッセージ キュー タスクは、次の目的で使用できます。
- 他のパッケージがチェックインするまでタスクの実行を遅らせることができます。たとえば、各小売り店舗で夜間のメンテナンスが終了した後、メッセージ キュー タスクは本社のコンピュータにメッセージを送信します。この本社のコンピュータで実行するパッケージには複数のメッセージ キュー タスクが含まれており、それぞれが個々の店舗からのメッセージを待機しています。メッセージが店舗から到着すると、タスクは店舗のデータをアップロードします。すべての店舗がチェックインしたら、パッケージは合計を集計します。
- データ ファイルを処理するコンピュータに、データ ファイルを送信できます。たとえば、レストランの会計レジの出力をデータ ファイル メッセージとして給与計算システムに送信して、ウェイターのチップに関するデータを抽出できます。
- 企業の組織全体にファイルを配信できます。たとえば、あるパッケージでメッセージ キュー タスクを使用して、別のコンピュータにパッケージ ファイルを送信できます。送信先のコンピュータで実行するパッケージは、メッセージ キュー タスクを使用してパッケージをローカルに取得し保存します。
メッセージ キュー タスクは、メッセージの送受信時に、"データ ファイル"、"文字列"、"文字列メッセージを変数に指定"、"変数" の 4 つのうちのいずれかのメッセージ型を使用します。"文字列メッセージを変数に指定" メッセージ型は、メッセージの受信時にのみ使用できます。
また、メッセージで SQL Server 2000 形式を使用するように、タスクを構成することもできます。
タスクは MSMQ 接続マネージャを使用して、メッセージ キューに接続します。詳細については、「MSMQ 接続マネージャ」を参照してください。メッセージ キューの詳細については、MSDN ライブラリを参照してください。
メッセージ キュー タスクには、Integration Services サービスのインストールが必要です。SQL Server インストール ウィザードの [インストールするコンポーネント] ページまたは [機能の選択] ページでインストールの選択をした SQL Server 2005 コンポーネントによっては、Integration Services コンポーネントのサブセットの一部がインストールされます。これらのコンポーネントは、特定のタスクでは便利ですが、Integration Services の機能は限定されます。たとえば、Business Intelligence Development Studio のオプションでは、パッケージをデザインするために必要な Integration Services コンポーネントがインストールされますが、Integration Services サービスはインストールされません。したがって、メッセージ キュー タスクは機能しません。Integration Services を完全にインストールするには、[インストールするコンポーネント] ページで Integration Services を選択する必要があります。メッセージ キュー タスクのインストールと実行の詳細については、「SQL Server Integration Services のインストール」および「64 ビット コンピュータ上での Integration Services の使用上の注意」を参照してください。
メモ : |
---|
コンピュータのオペレーティング システムが FIPS モードで構成され、タスクで暗号化が使用されている場合は、メッセージ キュー タスクは Federal Information Processing Standard (FIPS) 140-2 に準拠することができません。メッセージ キュー タスクで暗号化が使用されていない場合は、タスクを正常に実行することができます。 |
メッセージ型
メッセージ キュー タスクで用意されているメッセージ型は、次の方法で構成できます。
- "データ ファイル" メッセージは、ファイルにメッセージが含まれることを指定します。メッセージを受信するときに、タスクによってファイルを保存したり既存のファイルを上書きできるように、また、タスクによってメッセージを受信できるパッケージを指定するように、タスクを構成できます。
- "文字列" メッセージは、メッセージを文字列として指定します。メッセージを受信するときに、タスクが受信した文字列とユーザー定義の文字列とを比較したり、比較に基づいて処理を実行するように構成できます。文字列比較では、完全な比較、大文字と小文字を区別する比較、大文字と小文字を区別しない比較、またはサブストリングを使用した比較を設定できます。
- "文字列メッセージを変数に指定" では、基になるメッセージを、送信先の変数に送信される文字列として指定できます。完全な比較、大文字と小文字を区別しない比較、またはサブストリングの比較を使用して、受信した文字列とユーザー定義の文字列とを比較するようにタスクを構成できます。このメッセージ型は、タスクがメッセージを受信するときにのみ使用できます。
- "変数" メッセージは、メッセージが 1 つ以上の変数を含むことを指定します。タスクは、メッセージに含まれる変数の名前を指定するように構成できます。メッセージを受信するときに、メッセージを受信するパッケージおよびメッセージの送信先となる変数の両方を指定するようにタスクを構成できます。
メッセージの送信
メッセージ キュー タスクを構成してメッセージを送信する場合、メッセージ キューで現在サポートされている暗号化アルゴリズム (RC2 および RC4) の 1 つを使用してメッセージを暗号化できます。現在、いずれの暗号化アルゴリズムも、メッセージ キューでまだサポートされていない最新のアルゴリズムと比較して、暗号強度の弱さが指摘されています。そのため、メッセージ キュー タスクを使用してメッセージを送信する場合は、暗号化の要件を慎重に検討してください。
メッセージの受信
メッセージ キュー タスクは、メッセージを受信する場合に次の方法で構成できます。
- メッセージをバイパスするか、またはメッセージをキューから削除します。
- タイムアウトを指定します。
- タイムアウトが発生した場合には失敗します。
- メッセージが "データ ファイル" に格納されている場合、既存のファイルを上書きします。
- メッセージが "データ ファイル" メッセージ型を使用している場合、メッセージ ファイルを別のファイル名で保存します。
その他の関連タスク
Integration Services には、電子メール メッセージを送信するタスクが含まれています。
このタスクの詳細については、次のトピックを参照してください。
メッセージ キュー タスクで使用できるカスタム ログ メッセージ
次の表は、メッセージ キュー タスクのカスタム ログ エントリの一覧です。詳細については、「パッケージへのログ機能の実装」および「ログ記録用のカスタム メッセージ」を参照してください。
ログ エントリ | 説明 |
---|---|
MSMQAfterOpen |
タスクで開いていたメッセージ キューを終了したことを示します。 |
MSMQBeforeOpen |
タスクがメッセージ キューを開く操作を開始したことを示します。 |
MSMQBeginReceive |
タスクがメッセージの受信を開始したことを示します。 |
MSMQBeginSend |
タスクがメッセージの送信を開始したことを示します。 |
MSMQEndReceive |
タスクがメッセージの受信を終了したことを示します。 |
MSMQEndSend |
タスクがメッセージの送信を終了したことを示します。 |
MSMQTaskInfo |
タスクに関する説明情報を提供します。 |
MSMQTaskTimeOut |
タスクがタイムアウトしたことを示します。 |
メッセージ キュー タスクの構成
プロパティを設定するには SSIS デザイナから行うか、またはプログラムによって設定します。
SSIS デザイナで設定できるプロパティの詳細については、次のトピックのいずれかを参照してください。
- [メッセージ キュー タスク エディタ] ([全般] ページ)
- [メッセージ キュー タスク エディタ] ([受信] ページ)
- [メッセージ キュー タスク エディタ] ([送信] ページ)
- [式] ページ
SSIS デザイナでこれらのプロパティを設定する方法については、次のトピックを参照してください。
プログラムによるメッセージ キュー タスクの構成
プログラムによってこれらのプロパティを設定する方法の詳細については、次のトピックを参照してください。
参照
概念
Integration Services タスク
パッケージの制御フローの作成
64 ビット コンピュータ上での Integration Services の使用上の注意
ヘルプおよび情報
変更履歴
リリース | 履歴 |
---|---|
2006 年 7 月 17 日 |
|
2006 年 4 月 14 日 |
|
2005 年 12 月 5 日 |
|