SSIS在不同的服务器上运行时不使用配置

时间:2016-06-25 08:35:56

标签: sql-server ssis ssis-2012

我在Server上构建了SSIS包(假设A),用XML定义了它的配置。我已将软件包和配置文件复制到另一台服务器(假设为B)并使用Batch命令运行它,如下所示:

echo "Running SSIS Load" >D:\samplessis\log\Mylog.log dtexec.exe /f "D:\samplessis\ag_data_import.dtsx" /CONFIGFILE "D:\samplessis\config\AgDataLoad.dtsConfig"  /MAXCONCURRENT " -1 "  /CHECKPOINTING OFF >>D:\samplessis\log\Mylog.log

这个包似乎使用了包中定义的配置,但没有使用xml(配置文件)

1 个答案:

答案 0 :(得分:1)

当在MSSQL 2008 R2或更高版本中为DTEXEC提供XML配置文件时,它在运行时按此顺序配置自身:

  1. 该实用程序首先应用设计时配置。
  2. 然后,该实用程序将应用您在其上指定的运行时选项 启动该实用程序时的命令行。
  3. 最后,该实用程序重新加载并重新应用设计时配置。
  4. (来源:https://technet.microsoft.com/en-us/library/bb500430(v=sql.105).aspx

    这意味着程序包在运行时的配置是Design - XML - Design。如果您要更改XML文件的内容并在开发框中运行DTEXEC命令,您将得到相同的结果......

    要解决此问题,请在设计器中设置配置后清除初始值。例如,如果您将connectino字符串作为参数,请设计Connection Manager,将Connection String添加到XML文件,然后在Connection Manager的属性中清除连接字符串。

    如果在设计时没有指定值,设计人员将根据XML文件进行自我配置,并在使用DTEXEC运行时应用该XML文件。