您能否解释一下 SSIS 包中各种配置(xml、环境变量等)的优缺点?
2 回答
你可以在这里得到你自己的结论
但根据我的观点:
在“SQL Server”上,您有一个中央数据库表,可以在其中存储配置条目并在服务器和包之间共享。但是,您需要一种方法来告诉您的包连接哪个服务器来获取配置。
“XML 文件和环境变量”依赖于机器,因此如果您有多个使用同一文件的包,您将拥有多个配置副本,每台机器一个,并且此配置不会集中。
当一个包通过使用执行包任务执行另一个包时,您还可以使用“父包变量配置”。
老实说,我更喜欢“SQL Server”,因为在生产环境中,对开发人员的访问权限非常有限,您通常可以读取数据库,但如果您需要找到 XML 文件,则您无权访问服务器检查一个配置值,您可以简单地在数据库上运行选择,而不是如果您使用更复杂的文件。
SQL Server Integration Services (SSIS) 是用于创建 ETL 包的非常强大的工具。它如此强大的部分原因是它能够使用包配置。包配置允许您在外部存储包所需的信息,以便可以轻松更改信息而无需重新编写包本身。您可以存储连接字符串、变量值、包密码、隔离级别等等。基本上,如果您可以在 SSIS 中设置值,它可能可以存储在包配置中。这使得修改包变得更加容易,例如当它从 QA 转移到生产时,或者当生产服务器的名称更改时。包配置有多种风格,您使用哪一种取决于您的个人需求。此外,每种类型存储数据的方式不同,因此在某些情况下可以保存多个值,而在其他情况下您只能存储一个值。以下是包配置类型的快速细分。
XML 配置文件 – 多个值可以存储在磁盘上的 XML 文件中
环境变量 - 单个值可以存储在 Windows 环境变量中
注册表项 – 单个值可以存储在注册表项中
父包变量–父包可以将变量传递给包含配置值的包
SQL Server – 多个值可以存储在 SQL Server 上的表中