在单个SSIS包中对不同的源SQL Server实例进行操作

在某些情况下,我们需要对许多SQL Server实例执行一项任务。假设我们有一个基于Web的程序。该计划的数据库分布在全国各地,我们有10个不同的虚拟(VM)服务器来托管该计划的数据库。该程序基于存储在CONFIG数据库中的某些配置运行。 CONFIG数据库由20个不同的SQL Server实例托管,以服务20个不同的客户端。 SQL服务器实例都是由这10个虚拟服务器托管的命名SQL服务器实例。我们需要每月更新所有区域的CONFIG数据库。所有CONFIG数据库的数据库结构是相同的。在这种情况下,一种简单的方法是为每个源服务器创建一个SSIS包,以一个一个地从所有源数据库收集数据。这意味着我们将拥有10个相同SSIS软件包的副本,每个软件包都将其指向作为源服务器的服务器。我们需要10个软件包,因为我们可以通过编写T-SQL脚本或使用额外的Foreach循环容器来检索CONFIG数据库列表。因此,每个服务器需要一个SSIS包。