【问题标题】:Extract SQL Azure Federated Database to Data Warehouse with SSIS使用 SSIS 将 SQL Azure 联合数据库提取到数据仓库
【发布时间】:2013-12-30 04:20:36
【问题描述】:

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

【问题讨论】:

    标签: sql-server azure ssis data-warehouse azure-sqldw


    【解决方案1】:

    我构建了一个原型包,基于我对垂直分片的假设(相同的架构分布在多个实例中)

    您要做的是创建一个 ADO.NET 连接管理器并作为提供者选择“.Net Providers\Odbc 数据提供者”。

    连接字符串如下所示。正如您提供的第一个链接所示,请确保您已授权 IP 并指定 Database

    Driver={SQL Server Native Client 11.0};Server=tcp: abcdefghi.database.windows.net;Database=romulus;
    

    控制流程

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

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

    数据流

    数据流通过严格控制源和目标周围的元数据来获得其性能。您需要为每个需要处理的表创建一个数据流。有一些并行运行多个数据流的策略,我在这里不做说明。我确信 Andy Leonard 在您已经找到的集成服务阶梯系列中对此进行了介绍。

    我的结构与您在链接的 SSC 文章中看到的一样

    源组件基本上是 OLE DB 或 ADO.NET 组件。由于我们使用的是 Azure,因此我们需要“ADO NET Source”组件。

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

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

    【讨论】:

      猜你喜欢
      • 2021-03-04
      • 1970-01-01
      • 2016-06-30
      • 2017-09-15
      • 1970-01-01
      • 2016-10-26
      • 2016-01-27
      • 1970-01-01
      • 2020-06-25
      相关资源
      最近更新 更多