我在 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"
问题是我没有创建一个日志文件,而是得到了两个。一个包含正确的日期,另一个仅包含有关包验证的日志信息,但日期大约为一天。似乎 StartTime 系统变量会在包启动后设置,但这是在验证后完成的,并且验证正在创建日志条目。在此之前,StartDate 变量保存一些在编辑包时创建的任意日期。
这只是轻微的刺激,但我想知道是否有人知道抑制第二个日志文件的非笨拙方法。