SSISパッケージでファイルロギングを有効にしました。ログファイル接続文字列に対して、次の式を使用して次の形式のログファイルを生成しています。housekeepinglog2013_01_31_12_07.xml
@[User::VAR_LOG_PATH] +"\\housekeepinglog" +
(DATEDIFF( "dd", @[System::StartTime], GETDATE() ) < 1 ?
(DT_STR,4,1252)DATEPART( "yyyy" , @[System::StartTime]) + "_" +
RIGHT("0" + (DT_STR,4,1252)DATEPART("mm", @[System::StartTime]), 2) + "_" +
RIGHT("0" + (DT_STR,4,1252)DATEPART("dd", @[System::StartTime]), 2) + "_" +
RIGHT("0" + (DT_STR,4,1252)DATEPART("hh", @[System::StartTime]), 2) + "_" +
RIGHT("0" + (DT_STR,4,1252)DATEPART("mi", @[System::StartTime]), 2) + "_" +
RIGHT("0" + (DT_STR,4,1252)DATEPART("ss", @[System::StartTime]), 2)
: "")
+ ".xml"
問題は、1つのログファイルを作成する代わりに2つ取得することです。1つは正しい日付で完了し、もう1つはパッケージ検証に関するログ情報のみを含みますが、日付は約1日前です。パッケージが開始されるとStartTimeSystem変数が設定されるようですが、これは検証後に行われ、検証によってログエントリが作成されます。この前のStartDate変数は、パッケージの編集時に作成された任意の日付を保持します。
ちょっとした苛立ちですが、2番目のログファイルを抑制するための不格好な方法を誰かが知っているかどうか疑問に思いました。