制御フローのデバッグ

Business Intelligence Development Studio と Microsoft SQL Server 2005 Integration Services (SSIS) には、Integration Services パッケージの制御フローのトラブルシューティングに使用できる、機能とツールが含まれています。

  • Integration Services では、コンテナおよびタスク上のブレークポイントがサポートされています。
  • SSIS デザイナでは、実行時の進行状況レポートが用意されています。
  • Business Intelligence Development Studio では、デバッグ ウィンドウが用意されています。

ブレークポイント

SSIS デザイナには、[ブレークポイントの設定] ダイアログ ボックスが用意されています。このダイアログ ボックスから、ブレークの条件を有効にし、パッケージの実行が中断するまでのブレークポイントの到達回数を指定することにより、ブレークポイントを設定できます。ブレークポイントは、パッケージ レベル、または個別のコンポーネントのレベルで有効にできます。タスクまたはコンテナ レベルでブレークの条件を有効にすると、[制御フロー] タブのデザイン画面上にあるタスクまたはコンテナの隣に、ブレークポイントのアイコンが表示されます。パッケージ レベルでブレークの条件を有効にすると、[制御フロー] タブのラベル上にブレークポイントのアイコンが表示されます。

ブレークポイントにヒットすると、ブレークポイントのアイコンが変化し、ブレークポイントの発生元を識別できます。ブレークポイントは、パッケージの実行時に追加、削除、および変更できます。

Integration Services ではブレークの条件が 10 件用意されており、すべてのタスクとコンテナで有効にできます。[ブレークポイントの設定] ダイアログ ボックスでは、次の条件に基づいてブレークポイントを有効にできます。

ブレークの条件 説明

タスクまたはコンテナが OnPreExecute イベントを受け取ったとき

タスクが実行されようとしているときに呼び出されます。このイベントは、タスクまたはコンテナが実行される直前に、タスクまたはコンテナによって起動されます。

タスクまたはコンテナが OnPostExecute イベントを受け取ったとき

タスクの実行ロジックが完了した直後に呼び出されます。このイベントは、タスクまたはコンテナが実行された直後に、タスクまたはコンテナによって起動されます。

タスクまたはコンテナが OnError イベントを受け取ったとき

エラーが発生すると、タスクまたはコンテナによって呼び出されます。

タスクまたはコンテナが OnWarning イベントを受け取ったとき

タスクでエラーは発生していないが、警告が確認された状態にあるときに、呼び出されます。

タスクまたはコンテナが OnInformation イベントを受け取ったとき

タスクから情報が提供される必要があるときに呼び出されます。

タスクまたはコンテナが OnTaskFailed イベントを受け取ったとき

タスク ホストが失敗したとき、タスク ホストによって呼び出されます。

タスクまたはコンテナが OnProgress イベントを受け取ったとき

タスクの実行の進行状況を更新するために呼び出されます。

タスクまたはコンテナが OnQueryCancel イベントを受け取ったとき

タスク処理の実行をキャンセルできる場合、任意のタイミングで呼び出されます。

タスクまたはコンテナが OnVariableValueChanged イベントを受け取ったとき

変数の値が変更されたとき、Integration Services ランタイムによって呼び出されます。このイベントを起動するには、変数の RaiseChangeEventtrue に設定する必要があります。

タスクまたはコンテナが OnCustomEvent イベントを受け取ったとき

タスクによって定義されたカスタム イベントを起動するため、タスクによって呼び出されます。

一部のタスクとコンテナには、すべてのタスクとコンテナで使用できるブレークの条件以外に、ブレークポイントを設定するための特殊なブレーク条件が含まれています。たとえば、For ループ コンテナでは、ループの各反復処理の開始点で実行を中断するブレークポイントを設定するための、ブレークの条件を有効にできます。

ブレークポイントをさらに柔軟に使用し、機能を強化するには、次のオプションを指定してブレークポイントの動作を変更できます。

  • ヒット カウント。実行が中断するまでにブレーク条件に到達する最大回数です。
  • ヒット カウントの種類。ブレーク条件によってブレークポイントがトリガされるタイミングを指定するルールです。

[常に行う] 以外のヒット カウントの種類では、そのヒット カウントによってさらに限定されます。たとえば、種類が [ヒット カウント (等しい)] でヒット カウントが 5 の場合、ブレーク条件が 6 回発生した時点で実行は中断されます。

次の表では、ヒット カウントの種類について説明します。

ヒット カウントの種類 説明

常に行う

ブレークポイントにヒットすると、実行は常に中断されます。

ヒット カウント (等しい)

発生したブレークポイントの回数がヒット カウントの値に等しい場合、実行は中断されます。

ヒット カウント (より大きいまたは等しい)

発生したブレークポイントの回数がヒット カウントの値以上の場合、実行は中断されます。

ヒット カウント (倍数)

ブレークポイントがヒット カウントの倍数回発生した場合、実行は中断されます。たとえば、このオプションを 5 に設定した場合、ブレークポイントが 5 の倍数回発生するたびに実行は中断されます。

ブレークポイントを設定するには

進行状況レポート

SSIS デザイナには、2 種類の進行状況レポート機能が含まれています。1 つは [制御フロー] タブのデザイン画面上の色分けで、もう 1 つは [進行状況] タブ上の進行状況メッセージです。

パッケージを実行すると、SSIS デザイナでは、各タスクまたはコンテナが実行状態を示す色で表示され、進行状況を確認できます。この色により、要素が実行の待機中か、現在実行中か、正常に完了したか、または正しく終了しなかったか、などがわかります。パッケージの実行を停止すると、表示は色分けされなくなります。

次の表では、実行状態を示す色について説明します。

実行状態

灰色

実行の待機中です。

実行中です。

正常に実行されました。

実行されましたがエラーが発生しました。

[進行状況] タブには、タスクとコンテナが実行順に一覧表示され、それらの開始時刻と終了時刻、警告、およびエラー メッセージが表示されます。パッケージの実行を停止すると、[実行結果] タブに進行に関する情報が表示され、そのまま使用できます。

次の図は、[進行状況] タブを示しています。

SSIS デザイナの [進捗状況] タブ

デバッグ ウィンドウ

Microsoft Visual Studio 2005 の開発環境である Business Intelligence Development Studio には、ブレークポイントの処理、およびブレークポイントが含まれるパッケージのデバッグに使用できる多数のウィンドウがあります。各ウィンドウの詳細については、ウィンドウを開いて F1 キーを押し、目的のウィンドウのヘルプを参照してください。

Business Intelligence Development Studio でこれらのウィンドウを開くには、[デバッグ] メニューをクリックし、[ウィンドウ] をポイントします。次に、[ブレークポイント][出力]、または [イミディエイト] をクリックします。

次の表は、各ウィンドウについて説明しています。

ウィンドウ 説明

ブレークポイント

パッケージ内のブレークポイントを一覧表示し、ブレークポイントの有効化および削除のオプションを提供します。

出力

Business Intelligence Development Studio の機能に関する状態メッセージを表示します。

イミディエイト

式をデバッグして評価し、変数の値を出力するのに使用されます。

参照

その他の技術情報

パッケージのデバッグ

ヘルプおよび情報

SQL Server 2005 の参考資料の入手