我正在尝试将生产数据传输到数据仓库以进行报告。我已尝试按照SSIS for Azure and Hybrid Data Movement中的“导入到联盟”部分,但我需要将数据从联盟移动到数据仓库。我还在SQL Server Central找到了一个很好的资源,但我似乎还无法在数据流向导中显示联合表。我也不能在ODBC(SQL Azure DB所需的连接类型)源向导中的SQL命令中添加Use FedDB语句。
答案 0 :(得分:2)
我根据我对垂直分片的假设构建了一个原型包(相同的模式分布在多个实例中)
您要做的是创建ADO.NET连接管理器,并选择“.Net Providers \ Odbc Data Provider”作为提供程序。
连接字符串将如下所示。如您提供的第一个链接所示,请确定您已授权IP并指定Database
Driver={SQL Server Native Client 11.0};Server=tcp: abcdefghi.database.windows.net;Database=romulus;
我设置了Foreach Loop Container,以便我可以枚举联盟中的所有实例。每次循环都会生成到当前实例的连接字符串。我将其分配给String类型的变量SourceConnectionString
。
然后我在ADO.NET连接管理器上设置了一个Expression,将ConnectionString
属性设置为@[User::SourceConnectionString]
。这将确保我们的连接在枚举期间实际更改。
数据流通过严格标记源和目标周围的元数据来获得其性能。您需要为每个需要与之竞争的表创建数据流。有并行运行多个数据流的策略,我在这里没有提到。我相信Andy Leonard会在你已经找到的他的Stairway to Integration Services系列中介绍它。
我在链接的SSC文章
中看到了我的结构
源代码组件基本上是OLE DB或ADO.NET组件。由于我们正在使用Azure,因此我们需要“ADO NET Source”组件。
查找组件可以使用OLE DB连接管理器或缓存连接管理器。由于您要推送到本地(在我的屏幕截图拼写错误)实例,您可以使用OLE DB连接管理器来处理您的查找。
实际上,除了联邦的来源和枚举之外,这个答案和文章中的内容之间几乎没有什么区别。