2013-12-11 149 views
2

我试图将生产数据传输到数据仓库以进行报告。我尝试过从SSIS for Azure and Hybrid Data Movement的“导入到联盟”部分,但我需要将数据从我的联合会移动到数据仓库。我还在SQL Server Central找到了一个很好的资源,但我仍然无法调出数据流向导中的联合表。我也不能在ODBC(SQL Azure数据库所需的连接类型)源向导的SQL命令中添加使用FedDB语句。使用SSIS将SQL Azure联合数据库提取到数据仓库

回答

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; 

控制流

Control Flow

我有一个Foreach Loop Container设置,使我可以枚举联合中的所有实例。每次通过循环都会生成到当前实例的连接字符串。我将它分配给String类型的变量SourceConnectionString

然后,我在ADO.NET连接管理器上设置表达式,将ConnectionString属性设置为@[User::SourceConnectionString]。这将确保我们的连接实际上在枚举期间更改

数据流

A数据流导出通过保持对周围源和目标元数据严格凸片其性能。您需要为每个需要应对的表创建数据流。有多种并行运行多个数据流的策略,我不在这里讨论。我确信Andy Leonard在他已经发现的Integration Services系列的阶梯中涵盖了它。

为你链接的SSC文章

Data Flow

您有源部件基本上任何OLE DB或ADO.NET组件中所看到的,我矿的结构很多。由于我们正在使用Azure,因此我们需要“ADO NET Source”组件。

查找组件可以使用OLE DB连接管理器或缓存连接管理器。由于您正在推送到本地(在我的屏幕截图中拼写错误)实例,因此您可以使用OLE DB连接管理器来处理您的查找。

真的,除了通过联邦的源代码和枚举之外,这个答案与文章中的内容几乎没有区别。

相关问题