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