制御フローのデバッグ
SQL Server データ ツール (SSDT) と Microsoft Integration Services には、Integration Services パッケージの制御フローのトラブルシューティングに使用できる、機能とツールが含まれています。
Integration Services では、コンテナーおよびタスク上のブレークポイントがサポートされています。
SSIS デザイナーでは、実行時の進行状況レポートが用意されています。
SQL Server データ ツール (SSDT) では、デバッグ ウィンドウが用意されています。
ブレークポイント
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 デザイナーでは、各タスクまたはコンテナーが実行状態を示す色で表示され、進行状況を確認できます。 この色により、要素が実行の待機中か、現在実行中か、正常に完了したか、または正しく終了しなかったか、などがわかります。 パッケージの実行を停止すると、表示は色分けされなくなります。
次の表では、実行状態を示す色について説明します。
色 |
実行状態 |
---|---|
灰色 |
実行の待機中です。 |
黄 |
実行中です。 |
緑 |
正常に実行されました。 |
強調表示 |
実行されましたがエラーが発生しました。 |
[進行状況] タブには、タスクとコンテナーが実行順に一覧表示され、それらの開始時刻と終了時刻、警告、およびエラー メッセージが表示されます。 パッケージの実行を停止すると、[実行結果] タブに進行に関する情報が表示され、そのまま使用できます。
注 |
---|
[進行状況] タブでのメッセージの表示を有効または無効にするには、[SSIS] メニューの [進行状況レポートのデバッグ] オプションを切り替えます。 |
次の図は、[進行状況] タブを示しています。
デバッグ ウィンドウ
SQL Server データ ツール (SSDT) には、ブレークポイントの処理、およびブレークポイントが含まれるパッケージのデバッグに使用できる多数のウィンドウがあります。 各ウィンドウの詳細については、ウィンドウを開いて F1 キーを押し、目的のウィンドウのヘルプを参照してください。
SQL Server データ ツール (SSDT) でこれらのウィンドウを開くには、[デバッグ] メニューをクリックし、[ウィンドウ] をポイントします。次に、[ブレークポイント]、[出力]、または [イミディエイト] をクリックします。
次の表は、各ウィンドウについて説明しています。
ウィンドウ |
説明 |
---|---|
ブレークポイント |
パッケージ内のブレークポイントを一覧表示し、ブレークポイントの有効化および削除のオプションを提供します。 |
出力 |
SQL Server データ ツール (SSDT) の機能に関する状態メッセージを表示します。 |
イミディエイト |
式をデバッグして評価し、変数の値を出力するのに使用されます。 |
|