次の方法で共有


catalog.execution_component_phases

各実行フェーズでデータ フロー コンポーネントが費やした時間を表示します。

列名

データ型

説明

phase_stats_id

bigint

フェーズの一意識別子 (ID)。

execution_id

bigint

実行のインスタンスの一意の ID。

package_name

nvarchar(260)

実行中に開始された最初のパッケージの名前。

task_name

nvarchar(4000)

データ フロー タスクの名前。

subcomponent_name

nvarchar(4000)

データ フロー コンポーネントの名前。

phase

nvarchar(128)

実行フェーズの名前。

start_time

datetimeoffset(7)

フェーズの開始時刻。

end_time

datetimeoffset(7)

フェーズの終了時刻。

execution_path

nvarchar(max)

データ フロー タスクの実行パス。

説明

このビューには、Validate、Pre-Execute、Post-Execute、PrimeOutput、ProcessInput など、データ フロー コンポーネントの実行フェーズごとに 1 行表示されます。 各行には、特定の実行フェーズの開始時刻と終了時刻が表示されます。

使用例

次の例では、catalog.execution_component_phases ビューを使用して、指定されたパッケージ実行 (実行 ID = 1841) のデータ フロー タスクの各コンポーネントのアクティブな時間と合計時間を計算するクエリを実行します。 Active_time は、特定のパッケージまたはコンポーネントがすべてのフェーズで実行に費やした合計時間を示します。 Total_time は、パッケージまたはコンポーネントの経過時間の合計です。

注記注意

catalog.execution_component_phases ビューでは、パッケージ実行のログ記録レベルが [パフォーマンス] または [詳細] に設定されている場合のみ、この情報が表示されます。 詳細については、「SSIS サーバーでのパッケージ実行のログ記録を有効にする」を参照してください。

use SSISDB
select package_name, task_name, subcomponent_name, execution_path,
    SUM(DATEDIFF(ms,start_time,end_time)) as active_time,
    DATEDIFF(ms,min(start_time), max(end_time)) as total_time
from catalog.execution_component_phases
where execution_id = 1841
group by package_name, task_name, subcomponent_name, execution_path
order by package_name, task_name, subcomponent_name, execution_path

権限

このビューには、次の権限のいずれかが必要です。

  • 実行のインスタンスの READ 権限

  • ssis_admin データベース ロールのメンバーシップ

  • sysadmin サーバー ロールのメンバーシップ

注意

サーバー上で操作を実行する権限がある場合は、操作に関する情報を表示する権限もあります。 行レベルのセキュリティが適用されるため、表示する権限がある行のみが表示されます。