1

私はこれに対する答えを見つけることを望んでいました:

sysssislogテーブルでは、executionIDが同じパッケージに対して2回変更されます。たとえば、事前検証フェーズでは、executionIDは19EF7848-F626-4AF6-8B5F-0F419530597Eです。DA549ABD-27CC-4965-9DA0-FC701FB8F92Cただし、このexecutionIDは、パッケージの実行開始時に変更されます。

これに関する詳細を見つけるために、sysssislogテーブルに関するBOLエントリを読み、(ExecutionIDに関する特別な注意として)次のように述べています。

単一のパッケージを実行すると、ExecutionID要素の値が異なるログエントリが作成される場合があります。たとえば、SQL Serverデータツールでパッケージを実行する場合、検証フェーズでは、SQLServerデータツールに対応するExecutionID要素を含むログエントリが作成される場合があります。ただし、実行フェーズでは、dtshost.exeに対応するExecutionID要素を使用してログエントリが作成される場合があります。別の例として、パッケージの実行タスクを含むパッケージを実行すると、これらの各タスクは子パッケージを実行します。これらの子パッケージは、親パッケージが作成するログエントリとは異なるExecutionID要素を持つログエントリを作成する場合があります。

私はこの振る舞いを理解するのに途方に暮れています。パッケージの実行中、executionIDは同じままである必要がありますか?この問題を回避できるように、識別子としてpackageGUIDを使用することを検討していますが、これに関するヘルプをいただければ幸いです。TIA。

4

1 に答える 1

2

BOLが述べているように、BIDS(2005-2008R2)/ SSDT(2012)内からパッケージを実行している場合、パッケージの実行IDは、イベント処理のストリームのどこにあるかに基づいて変動します。これが受け入れられない場合は、コマンドライン(dtexec /file myPackage.dtsx)またはエージェントジョブを介してのみパッケージを実行してください。これにより、検証フェーズで別の実行IDを取得する機会がなくなります。子パッケージに頼ることはできないと思います。

于 2012-06-19T16:45:13.757 に答える