2

任务 - 有 7 个 SQL 服务器,每个都有相同的数据库。考虑数据库的表 Table_1。我想从所有 7 台服务器的 Table_1 中获取数据并将其放入主服务器的 Table_1 中(下图中称为 DataWarehouse)。我创建了一个数据流任务,将数据从这些服务器之一移动到主服务器。

现在,我想将这个数据流任务放在一个 for 循环中,并从 7 台服务器中的每台服务器到主服务器进行数据流。我该怎么做 ?

请参阅下面的附图。我希望我的 foreach 循环更改在数据流任务“数据集市 - 一台服务器”中定义的连接,然后进行数据传输。这甚至可能吗?如果是,那么如何?我希望像我们在编程中那样简单 -

//pseudocode

foreach (String serverIP){

1 - connect to server using serverIP

2 - move data from server called serverIP to destination

}

SSIS foreach

4

2 回答 2

2

是的。我假设您可以作为 foreach 循环的一部分使用服务器名称填充变量。从那里,单击您的连接管理器并调出属性窗格(如果尚未启动,请按 F4)。单击“表达式”并将 ServerName 属性设置为您的服务器名称变量。

于 2013-05-10T23:18:24.850 回答
1

我可能会执行 6 个数据流任务并利用并行性。也许,如果您仍然想采用线性方法,我建议您使用动态 sql 为您的 OLEDB 任务创建一个动态连接管理器。(那会很耗时,相信我,我有过这方面的经验)。如果您可以链接这些服务器,那么可能一个 SQL 查询可以为您解决问题。

于 2013-05-13T21:39:55.837 回答