制御フローのデバッグ

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] メニューの [進行状況レポートのデバッグ] オプションを切り替えます。

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

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

デバッグ ウィンドウ

SQL Server データ ツール (SSDT) には、ブレークポイントの処理、およびブレークポイントが含まれるパッケージのデバッグに使用できる多数のウィンドウがあります。 各ウィンドウの詳細については、ウィンドウを開いて F1 キーを押し、目的のウィンドウのヘルプを参照してください。

SQL Server データ ツール (SSDT) でこれらのウィンドウを開くには、[デバッグ] メニューをクリックし、[ウィンドウ] をポイントします。次に、[ブレークポイント][出力]、または [イミディエイト] をクリックします。

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

ウィンドウ

説明

ブレークポイント

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

出力

SQL Server データ ツール (SSDT) の機能に関する状態メッセージを表示します。

イミディエイト

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

Integration Services のアイコン (小) 最新の Integration Services の入手

マイクロソフトが提供する最新のダウンロード、アーティクル、サンプル、ビデオ、およびコミュニティで選択されたソリューションについては、MSDN の Integration Services のページを参照してください。


これらの更新が自動で通知されるようにするには、ページの RSS フィードを定期受信します。

関連項目

タスク

パッケージ開発のトラブルシューティング ツール