制御フローのデバッグ
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 ランタイムによって呼び出されます。このイベントを起動するには、変数の RaiseChangeEvent を true に設定する必要があります。 |
タスクまたはコンテナが OnCustomEvent イベントを受け取ったとき |
タスクによって定義されたカスタム イベントを起動するため、タスクによって呼び出されます。 |
一部のタスクとコンテナには、すべてのタスクとコンテナで使用できるブレークの条件以外に、ブレークポイントを設定するための特殊なブレーク条件が含まれています。たとえば、For ループ コンテナでは、ループの各反復処理の開始点で実行を中断するブレークポイントを設定するための、ブレークの条件を有効にできます。
ブレークポイントをさらに柔軟に使用し、機能を強化するには、次のオプションを指定してブレークポイントの動作を変更できます。
- ヒット カウント。実行が中断するまでにブレーク条件に到達する最大回数です。
- ヒット カウントの種類。ブレーク条件によってブレークポイントがトリガされるタイミングを指定するルールです。
[常に行う] 以外のヒット カウントの種類では、そのヒット カウントによってさらに限定されます。たとえば、種類が [ヒット カウント (等しい)] でヒット カウントが 5 の場合、ブレーク条件が 6 回発生した時点で実行は中断されます。
次の表では、ヒット カウントの種類について説明します。
ヒット カウントの種類 | 説明 |
---|---|
常に行う |
ブレークポイントにヒットすると、実行は常に中断されます。 |
ヒット カウント (等しい) |
発生したブレークポイントの回数がヒット カウントの値に等しい場合、実行は中断されます。 |
ヒット カウント (より大きいまたは等しい) |
発生したブレークポイントの回数がヒット カウントの値以上の場合、実行は中断されます。 |
ヒット カウント (倍数) |
ブレークポイントがヒット カウントの倍数回発生した場合、実行は中断されます。たとえば、このオプションを 5 に設定した場合、ブレークポイントが 5 の倍数回発生するたびに実行は中断されます。 |
ブレークポイントを設定するには
進行状況レポート
SSIS デザイナには、2 種類の進行状況レポート機能が含まれています。1 つは [制御フロー] タブのデザイン画面上の色分けで、もう 1 つは [進行状況] タブ上の進行状況メッセージです。
パッケージを実行すると、SSIS デザイナでは、各タスクまたはコンテナが実行状態を示す色で表示され、進行状況を確認できます。この色により、要素が実行の待機中か、現在実行中か、正常に完了したか、または正しく終了しなかったか、などがわかります。パッケージの実行を停止すると、表示は色分けされなくなります。
次の表では、実行状態を示す色について説明します。
色 | 実行状態 |
---|---|
灰色 |
実行の待機中です。 |
黄 |
実行中です。 |
緑 |
正常に実行されました。 |
赤 |
実行されましたがエラーが発生しました。 |
[進行状況] タブには、タスクとコンテナが実行順に一覧表示され、それらの開始時刻と終了時刻、警告、およびエラー メッセージが表示されます。パッケージの実行を停止すると、[実行結果] タブに進行に関する情報が表示され、そのまま使用できます。
次の図は、[進行状況] タブを示しています。
デバッグ ウィンドウ
Microsoft Visual Studio 2005 の開発環境である Business Intelligence Development Studio には、ブレークポイントの処理、およびブレークポイントが含まれるパッケージのデバッグに使用できる多数のウィンドウがあります。各ウィンドウの詳細については、ウィンドウを開いて F1 キーを押し、目的のウィンドウのヘルプを参照してください。
Business Intelligence Development Studio でこれらのウィンドウを開くには、[デバッグ] メニューをクリックし、[ウィンドウ] をポイントします。次に、[ブレークポイント]、[出力]、または [イミディエイト] をクリックします。
次の表は、各ウィンドウについて説明しています。
ウィンドウ | 説明 |
---|---|
ブレークポイント |
パッケージ内のブレークポイントを一覧表示し、ブレークポイントの有効化および削除のオプションを提供します。 |
出力 |
Business Intelligence Development Studio の機能に関する状態メッセージを表示します。 |
イミディエイト |
式をデバッグして評価し、変数の値を出力するのに使用されます。 |