根据有关将配置文件评估到SSIS包中的Microsoft文档,请参阅“了解如何在运行时应用包配置”:
在实用程序加载并运行程序包时,事件按以下顺序发生:
dtexec实用程序将加载程序包。
实用程序将在设计时按照包中指定的顺序应用包中指定的配置。 (对此的一个例外是“父程序包变量”配置。该实用程序仅将这些配置应用一次,然后在此过程中稍后进行。)
该实用程序然后应用您在命令行上指定的所有选项。
然后,该实用程序将在设计时按照软件包中指定的顺序重新加载软件包中指定的配置。 (同样,此规则的例外是“父程序包变量”配置)。该实用程序使用指定的任何命令行选项来重新加载配置。因此,可能会从其他位置重新加载不同的值
我看到在步骤3中在命令行中应用的程序包配置可能在步骤4中被程序包内指定的配置设置覆盖。
我有两个问题:
我相信在SQL 2008之前,SSIS不能以这种方式工作。我认为以前会更好。我敢肯定,如果他们更改了,他们有一个深思熟虑的原因。我想了解其背后的逻辑。
谢谢
这是生产软件包的示例日志,该软件包在软件包中设置了“启用配置”。由于上述原因,我通常确保在释放它之前始终将其禁用。您会看到它试图在开发人员的AllFiles文件夹中加载配置文件,但由于该文件不在产品中而失败。然后,它将实际的prod配置文件加载到ciwsqlxp0049上。然后,它再次尝试加载开发人员测试配置文件,但失败了,因此最后,幸运地使用了prod配置文件。
如果测试配置设置位于可从产品服务器访问的测试服务器上(这可能在我们的产品环境中发生),则pkg将运行测试设置,并且可能不会立即被发现。幸运的是,该软件包包含对prod服务器未找到的配置文件的引用,并且加载失败。在我看来,如果软件包中的配置设置不优先于软件包中的配置设置,那将是最好的选择,这将是MS选择的更安全的配置加载行为。
评论?我想念什么?
Started: 7:15:02 AM
Info: 2018-12-28 07:15:05.64
Code: 0x40016041
Source: SOA_Export Approver Listing
Description: The package is attempting to configure from the XML file "C:\MyAllFiles\AllApps\SOA\ReadyforImplementation\SOA_Export Approver Listing.dtsConfig".
End Info
Warning: 2018-12-28 07:15:05.64
Code: 0x80012012
Source: SOA_Export Approver Listing
Description: The configuration file name "C:\MyAllFiles\AllApps\SOA\ReadyforImplementation\SOA_Export Approver Listing.dtsConfig" is not valid. Check the configuration file name.
End Warning
Warning: 2018-12-28 07:15:05.64
Code: 0x8001201B
Source: SOA_Export Approver Listing
Description: Failure importing configuration file: "C:\MyAllFiles\AllApps\SOA\ReadyforImplementation\SOA_Export Approver Listing.dtsConfig".
End Warning
Warning: 2018-12-28 07:15:05.64
Code: 0x80012059
Source: SOA_Export Approver Listing
Description: Failed to load at least one of the configuration entries for the package. Check configuration entries for "Configuration 1" and previous warnings to see descriptions of which configuration failed.
End Warning
Info: 2018-12-28 07:15:05.65
Code: 0x40016041
Source: SOA_Export Approver Listing
Description: The package is attempting to configure from the XML file "\\CIWSQLXP0049\SOA\ConfigFiles\SOA_Export Approver Listing.dtsConfig".
End Info
Info: 2018-12-28 07:15:05.68
Code: 0x40016041
Source: SOA_Export Approver Listing
Description: The package is attempting to configure from the XML file "C:\MyAllFiles\AllApps\SOA\ReadyforImplementation\SOA_Export Approver Listing.dtsConfig".
End Info
Warning: 2018-12-28 07:15:05.68
Code: 0x80012012
Source: SOA_Export Approver Listing
Description: The configuration file name "C:\MyAllFiles\AllApps\SOA\ReadyforImplementation\SOA_Export Approver Listing.dtsConfig" is not valid. Check the configuration file name.
End Warning
Warning: 2018-12-28 07:15:05.68
Code: 0x8001201B
Source: SOA_Export Approver Listing
Description: Failure importing configuration file: "C:\MyAllFiles\AllApps\SOA\ReadyforImplementation\SOA_Export Approver Listing.dtsConfig".
End Warning