能否请您解释一下在SSIS包各种配置的优势/劣势(XML,环境变量等)?
Answer 1:
你可以得到自己的结论在这里
但根据我的观点:
在“SQL服务器”您拥有的配置条目可以存储和跨服务器和包共享一个中央数据库表。 但你需要一种方法来告诉你的软件包,服务器连接以获取配置。
“XML文件和环境变量”是依赖于机器,所以如果你有使用相同的文件多个软件包,你将有配置,每一个机器的多个副本,并且该配置将不会集中。
你也可以有“父包变量配置”当一个包通过使用执行包任务执行另一个包时使用。
老实说,我更喜欢的“SQL Server”,因为在生产环境中,获得开发者是非常有限的,你平时有读取访问数据库,但是你没有访问服务器进行的XML文件所在,所以如果你需要检查是否正在使用的文件的更复杂的一个配置值,你可以简单地对数据库运行一个选择,而不是。
Answer 2:
SQL Server集成服务(SSIS)是用于创建ETL包一个非常强大的工具。 是什么使得它如此强大的部分原因是其使用的软件包配置能力。 包配置允许包需要让信息能够很容易地改变,而无需重新编写程序包本身你在外部存储的信息。 你可以存储连接字符串,变量值,包密码,隔离级别,等等。 基本上,如果你可以在SSIS中设置的值,大概可以存储在一个封装配置。 这使得修改程序包,如从QA移动到生产的时候,或者当生产服务器的名称更改,要容易得多。 包装配置有几种口味,哪一个你使用,将取决于你的个性化需求。 此外,每种类型的数据存储方式不同,因此在某些情况下,多值可以保存在别人对你只能存储一个值。 这里是类型封装配置的快速崩溃。
XML配置文件 - 多个值可以存储在磁盘上的XML文件
环境变量 - 一个单一的值可以存储在一个Windows环境变量
注册表项 - 单个值可以存储在注册表项
父包变量 - 父包可以一个变量传递到包含配置值的包装
SQL服务器 - 多个值可以存储在一个表中的SQL Server上