Integration Services タスク
タスクとは、パッケージ制御フローで実行される作業の単位を定義する、制御フローの要素のことです。SQL ServerIntegration Services パッケージは、1 つ以上のタスクで構成されます。パッケージに複数のタスクが含まれる場合、それらのタスクは優先順位制約によって順序が決定され、制御フロー内で連結されます。
また、COM をサポートする Visual Basic などのプログラミング言語や、C# などの .NET プログラミング言語を使用して、カスタム タスクを記述することもできます。
SSIS デザイナーは、パッケージを操作するための SQL ServerIntegration Services のグラフィック ツールであり、パッケージ制御フローを作成するためのデザイン画面、およびタスクを構成するためのカスタム エディターが用意されています。また、SQL ServerIntegration Services オブジェクト モデルをプログラムし、プログラムによってパッケージを作成することもできます。
Integration Services には、次の種類のタスクが含まれます。
データ準備タスク
ファイルやディレクトリのコピー、ファイルやデータのダウンロード、Web メソッドの実行、XML ドキュメントへの操作の適用、および最適化のためのデータのプロファイルを行うタスクです。
ワークフロー タスク
別のプロセスと通信して、パッケージの実行、プログラムまたはバッチ ファイルの実行、パッケージ間のメッセージの送受信、電子メール メッセージの送信、Windows Management Instrumentation (WMI) データの読み取り、および WMI イベントの監視を行うタスクです。
SQL Server のタスク
SQL Server オブジェクトとデータにアクセスしたり、オブジェクトやデータをコピー、挿入、削除、および変更するタスクです。
Analysis Services のタスク
Analysis Services オブジェクトを作成、変更、削除、および処理するタスクです。
メンテナンス タスク
SQL Server データベースのバックアップと圧縮、インデックスの再構築と再編成、SQL Server エージェント ジョブの実行などの管理機能を実行するタスクです。
下位互換性タスク
SQL Server データ変換サービス (DTS) との下位互換性を維持するために Integration Services が提供するタスクです。
カスタム タスク
COM をサポートする Visual Basic などのプログラミング言語や、C# などの .NET プログラミング言語を使用して、カスタム タスクを記述することもできます。SSIS デザイナーでカスタム タスクにアクセスする場合、タスク用のユーザー インターフェイスを作成して登録できます。詳細については、「カスタム タスクの開発」を参照してください。
タスクの追加と構成
Integration Services パッケージには、1 つのタスクを含めることができます。たとえば、パッケージの実行時にデータベース テーブルのレコードを削除する、SQL 実行タスクを含めます。ただし、通常のパッケージには複数のタスクが含まれており、各タスクはパッケージ制御フローのコンテキスト内で実行されるように設定されます。イベント ハンドラーは、ランタイム イベントに応答して実行されるワークフローであり、ここにも複数のタスクを含めることができます。
SSIS デザイナーを使用してパッケージにタスクを追加する方法の詳細については、「制御フローのタスクまたはコンテナを追加または削除する方法」を参照してください。
プログラムによってパッケージにタスクを追加する方法の詳細については、「プログラムによるタスクの追加」を参照してください。
各タスクは、SSIS デザイナーで用意されている、各タスク用のカスタム ダイアログ ボックスを使用して、個別に構成できます。または、Business Intelligence Development Studio に含まれる [プロパティ] ウィンドウから構成できます。パッケージには、6 つの SQL 実行タスクなど、同じ種類の複数のタスクを含めることができ、各タスクは個別に構成できます。詳細については、「タスクまたはコンテナのプロパティを設定する方法」を参照してください。
タスクの連結とグループ化
タスクに複数のタスクが含まれる場合、それらのタスクは優先順位制約によって順序が決定され、制御フロー内で連結されます。詳細については、「優先順位制約」を参照してください。
タスクをグループ化して 1 つの作業単位として実行したり、ループ内で繰り返すことができます。詳細については、「Foreach ループ コンテナー」、「For ループ コンテナー」、および「シーケンス コンテナー」を参照してください。
|