SSIS SQL Server配置使用设计时连接字符串

时间:2014-04-16 20:54:06

标签: sql-server sql-server-2008 configuration ssis

我已经创建了SSIS包,并使用SQL Server Agent在SQL 2008 R2服务器上安排了它。此程序包使用SQL Server配置。 SSIS包源是“文件系统”。在“数据源”下,我选择了连接并更改了连接字符串(结果为命令行中的/ CONN选项)。当我运行该作业时,即使它成功,它也会创建登录失败的错误消息,我认为这是因为它首先尝试使用设计时连接字符串,然后使用/ CONN选项中提供的连接字符串并获取所有配置参数并成功执行。

如果我将设计时连接字符串更改为prod连接字符串,然后尝试执行相同的作业,则不会记录任何错误。

有谁知道发生了什么事?

Update 4/17:我正在使用Windows身份验证连接到sql server。设计时连接字符串包含DEV服务器。 DEV和PROD系统(SQL服务器/用户的所有内容)是完全独立的,无法相互访问。 SSIS包在服务帐户下运行,该帐户可以访问SSIS包所指的所有PROD环境,但无法访问DEV环境。以下是SSIS的配置方式。 SSIS只有一个sql连接,仅用于从sql表获取配置数据。配置数据用于填充将在子包中使用的变量。

更新4/22:SSIS正在使用sql server配置,因为子包的设计时变量与配置中的不同。如果SSIS配置不起作用,子包将抛出错误,因为配置数据用于填充父变量,而父变量又将被提供给子包变量。

1 个答案:

答案 0 :(得分:0)

从SQL Server 2008 R2开始,设计时配置优于命令行。值得注意的是,配置期间采取的一系列操作现在是不同的。首先,应用SSIS包配置。然后,应用命令行选项。最后,重新加载并重新应用SSIS包配置。这允许您使用/ Conn开关更改程序包中一个或多个连接管理器的ConnectionString属性。这有助于将设置检索重定向到最初使用的SQL Server。无论如何,以这种方式重新加载和重新应用设置意味着无法直接覆盖设计时配置设置。最佳做法是重定向用于检索设置的连接字符串。或者,只是不要为有问题的变量/设置设置SSIS包配置,并始终从命令行设置它。

请参阅: Behavior Changes to Integration Services Features in SQL Server 2008 R2

查看标题为“了解运行时如何应用SSIS包配置”的部分: SSIS Package Configurations