如何将一个ssis包从Dev转移到Prod?

时间:2009-03-09 14:14:24

标签: sql-server ssis

我正在尝试使用配置文件将我的包移动到生产中,但文件只是部分更改,结果仍然是DEV服务器。

有人知道该怎么办吗?

5 个答案:

答案 0 :(得分:2)

如果不访问配置文件,很难找出问题的原因。

我建议您使用引用环境中数据库的包配置。然后,可以使用每个环境唯一的环境变量来引用数据库本身。

这是一个节省时间的好方法,也是集中管理所有SSIS包配置的好方法。请查看以下参考资料。

http://www.mssqltips.com/tip.asp?tip=1405

配置完成后,您可以在开发和生产之间部署相同的相同包,而无需对SSIS包应用单个修改或乱用配置文件。

答案 1 :(得分:0)

即使您使用配置文件,您的程序包中仍可能有硬编码连接。您还需要检查每个连接。

答案 2 :(得分:0)

你也可以走很远的路。进入Integration Services并将存储的包导出到其dtsx文件。然后,您可以在任何优秀的文本编辑器中打开文件,在服务器名称上执行查找/替换,然后返回Integration Services并导入更新的包。很多时候它更容易......

答案 3 :(得分:0)

每个人都感谢你的回答。我设法以一种丑陋的方式解决了这个问题 - 在服务器上编辑软件包,但我想要更优雅的解决方案 - 现在我正在尝试使用环境变量,它看起来很棒,但是我得到的向导与链接中给出的不同 - 我不知道如何继续。(我正在使用VStudio 2005)此外,我尝试将配置文件作为XML,但是即使在源机器上包运行也会失败,所以我是卡住了!

答案 4 :(得分:0)

我个人的技术是首先有一个配置文件,将包指向基于SQL的包配置(连接字符串到配置数据库)。程序包配置中的后续条目使用SQL存储加载其设置。我有一个脚本进入包的XML并准备它们以便部署到stage或prod。配置文件包含Package Configuration的初始文件配置条目的名称以及stage和prod配置db configruation文件所在的位置。该脚本为stage和prod生成两个子目录。每个目录都有一个针对其特定部署而修改的解决方案包的副本。

另外!不要忘记关闭包文件中的加密!