【问题标题】:SSIS configuration options where test & production are on the same server测试和生产在同一台服务器上的 SSIS 配置选项
【发布时间】:2010-09-25 02:51:27
【问题描述】:
我是 SSIS 的新手,我的项目仍处于早期阶段,只有在不同服务器上的开发和测试环境。生产环境将与测试在同一台服务器上(我对此没有发言权!)。我有许多包,每个包都有一个 SQL 代理作业来安排它们,我需要一种方法来处理用于开发、测试和生产的包配置。
我知道我可以将 2 个版本的包存储在同一台服务器上 MSDB 内的不同目录中,但是在同一台服务器上实施测试和生产的最佳方式是什么?部署到生产的手动工作量最少?
我可以将包部署到 MSDB 中的 2 个不同位置,并为每个包创建一个作业(1 个用于测试,1 个用于生产),但是我如何设置包配置以便包本身不需要在环境之间进行更改?
【问题讨论】:
标签:
ssis
package
configuration-management
【解决方案1】:
您有多种选择:
按照here 和here 的描述创建一个包配置表。如果您在同一台服务器上运行软件包,这可能会很好。
覆盖 SQL Server 代理作业中的连接设置。这可以很好地工作,但如果每个作业都必须覆盖连接设置,则可能难以管理。
使用包配置 XML 文件并通过 DTEXEC 通过代理运行您的包。如果包在同一台服务器上,这对我来说似乎有点矫枉过正。
在包中使用一个变量来检查它在其下运行的存储以确定要使用的数据库。这是一个我没有测试过的理论。如果我是正确的,这种方法的优点是您不需要在包之外设置任何东西。缺点是实施起来可能很困难或不可能,尤其是当您必须考虑在测试期间包将如何在 BIDS 中本地运行时。