【问题标题】:SSIS - ETL - Transfer tables/databases from many servers?SSIS - ETL - 从许多服务器传输表/数据库?
【发布时间】:2013-05-04 08:40:14
【问题描述】:

我有 6-7 个相同的数据库(几乎)。我想将这些服务器中每个服务器的某些表中的数据复制到 ONE 服务器的相应表中。即,多个源和一个目标服务器。所有服务器都有不同的IP。我该怎么做这个任务? for 循环是否适合这个。如果是,那有什么好方法呢?

我可能会执行一些转换。目前还不确定。为了安全起见,我想使用 SSIS。

【问题讨论】:

  • 您需要 SSIS 吗?你可以只使用链接服务器吗?那么只有一个简单的 SQL 语句从一个服务器加载到另一个? SSIS 非常适合 ETL 的 T 位,但如果它只是一个数据副本,那么 SSIS 似乎有点矫枉过正
  • @PreetSangha - 我可能会执行一些转换。目前还不确定。为了安全起见,我想使用 SSIS。

标签: sql-server ssis data-warehouse etl


【解决方案1】:

这里概述了如何设置 FOR EACH LOOP 来循环数据库,前提是表是相同的。

这有点矫枉过正。

SSIS Loop a list of connection strings in a master package, executing two other packages for each connection string

【讨论】:

  • 此帖无效。接受积分,以便我可以发布我的问题的图像。
  • 我同意。这个问题应该被删除。
【解决方案2】:

如果你坚持使用 SSIS,那很简单。

1 包

包含 x(表数)的数据流

每个都包含一个数据源(用于查询的 sql + 源数据库信息)和一个数据目标(列映射 + 目标数据库信息)。

如果您想添加一两个转换,只需将其添加到数据流中即可。

【讨论】:

  • preet - 您是否可以向我展示一个分步教程,即对于一个完整的新手?网上的教程都不适合我。更多关于这里的问题 - stackoverflow.com/questions/16491668/…
  • 我当然可以尝试一下。给我发电子邮件(见个人资料),否则我会在完成后发布答案的更新。
【解决方案3】:

您可以使用 FOR LOOP,但如果您的负载频率很小,它可能会过大。

另一种简单的方法是将一个数据流任务与多个源一起使用,然后在 UNION ALL 转换中组合并加载到目标。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-23
    • 2012-10-09
    • 1970-01-01
    • 2014-11-04
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    相关资源
    最近更新 更多