2

作为发布周期的一部分,我们正在创建几个 SSIS 包来迁移大型数据库。我们最终可能会得到大约 5-10 个 SSIS 包。

由于我们有 4 个环境(开发、QA、登台、生产等),是否有一种有效的方法可以在每个 SSIS 包通过不同的服务器环境时更改它们的目标服务器?理想情况下,可以运行一个脚本,将所需的服务器作为参数。

4

3 回答 3

5

您可以使用配置文件来存储服务器的连接字符串。然后,当您从一个环境移动到另一个环境时,您只需更改配置文件。要简单地创建配置文件,请在包的控制表面上,
1) 右键单击​​并从上下文菜单中选择包配置。
2) 如果尚未选中启用包配置复选框,则选中它,
3) 然后单击添加...按钮。
4) 在对话框中单击下一步,
5) 然后添加配置文件名:并单击下一步。
6) 在对象视图中,在连接管理器下,展开您的连接,然后展开属性并选中 ConnectionString 旁边的框。
7) 然后点击下一步
8) 然后完成。

您现在有一个 xml 文件,命名为您在上面的步骤 5 中命名它。您可以使用文本编辑器编辑此文件,并在每次运行之前更改连接字符串以映射到您需要的任何服务器。

一旦创建,您可以在多个包之间共享配置文件,只要引用的对象在包之间命名相同。

这是一个关于配置的初级教程,有很多保存配置的方法,这只是其中一种。有关配置的更多信息,请参阅您最喜欢的 SSIS 书籍

于 2010-02-03T22:47:29.870 回答
2

我们使用一个配置表来存储服务器的配置。但是配置文件也很好用。我们喜欢该表,因为我们正在对 SSIS 包元数据进行报告,并且当存储在表中时,更容易获取这些数据(以及我们存储的许多其他数据)。

于 2010-02-03T22:57:11.250 回答
1

William Todd Salzman 的回答涵盖了大部分内容。我还有几个要补充的:

  • 确保 pacakge ProtectionLevel属性为DontSaveSensitive
  • 如果您使用不同的运输环境,那么作为包配置源的 SQL Server 表可能不适合您,因为您需要一个包含所有服务器的所有连接字符串的中央数据库。
  • 使用从注册表检索的包配置后,您需要注意这些设置是从 HKEY_CURRENT_USER 配置单元检索的。当包通过 SQL 代理作业运行时,这会产生影响。
于 2010-02-04T09:17:14.350 回答