为了能够对在 SSIS 中开发的数据集成流程进行操作管理,我希望能够在外部配置:
- 服务器(数据源)
- 数据库(目录)
- 图式
据我所见,所有这些通常都通过连接管理器和 SQL 语句硬编码到 SSIS 包中。这种硬编码限制了 DBA 能够以不同的方式分配资源,并且如果发生更改,如果正在使用包部署,则需要修改每个包。
看来项目部署会在一定程度上减少这种情况,但不会消除它。
目标环境是 SQL Server 2016 和 VS 2017。
服务器、数据库和模式如何从包中外部化?
为了能够对在 SSIS 中开发的数据集成流程进行操作管理,我希望能够在外部配置:
据我所见,所有这些通常都通过连接管理器和 SQL 语句硬编码到 SSIS 包中。这种硬编码限制了 DBA 能够以不同的方式分配资源,并且如果发生更改,如果正在使用包部署,则需要修改每个包。
看来项目部署会在一定程度上减少这种情况,但不会消除它。
目标环境是 SQL Server 2016 和 VS 2017。
服务器、数据库和模式如何从包中外部化?
SSIS 有一个强大的工具来配置每个环境的包。您可以在外部配置包中的任何属性。这可以在 SQL 代理中完成,甚至可以在运行时从命令行完成。配置可以存储在配置文件、系统环境变量、SQL 表等中。但是,配置包的现代方式是通过项目部署模型。
以下是它的工作原理:
下面的第一个链接显示了一个为使用参数配置连接管理器而创建的对话框。请注意,包将存储默认值,但是当您创建如上所述的环境时,这允许您在运行时轻松设置它。
至于配置模式,这也是可能的,通过使用参数,但您需要为 SQL 查询使用表达式并设置目标。我会避免跨环境使模式变量。这将带来大量的努力和复杂性,但所提供的灵活性却很小。请阅读这些链接,祝你好运!