【发布时间】:2015-03-11 15:57:30
【问题描述】:
我目前正在处理一个 SSIS 包。它的作用是运行相同的 SQL 语句 10 次,每次使用不同的参数 N 值(N 从 0 到 9)。语句是相互独立的(它们只是 INSERT INTO ... SELECT * FROM ... WHERE some_int_column % 10 = N)。
我当前的实现非常幼稚:我用 10 个不同的 N 值创建了同一个 .sql 文件的 10 个副本,然后创建了 10 个单独的“执行 SQL”任务,并将每个任务指向不同的 SQL 文件。
这很好用。但现在我需要能够动态改变 N 的最大值,即创建 Nmax 个并行任务,每个任务都有不同的参数值(从 0 到 Nmax-1)。
我应该如何处理这个问题?我在考虑一个 FOR 循环,但你不能在 SSIS 中获得一个异步 FOR 循环,所以这行不通。还有其他想法吗?
我使用的是 SQL Server 2008 R2。
【问题讨论】:
-
不必在 SSIS 中,也不必在循环中完成。您应该能够修改您的过程,以便它以基于集合的方式使用
@n。 -
是的...但是,我不想。我正在从限制单个会话吞吐量的链接服务器加载数据,因此我需要多个并发加载任务,因此请克服此限制。
标签: sql-server sql-server-2008 parameters ssis parallel-processing