【问题标题】:SSIS - OleDB source query from two database on separate serversSSIS - 来自不同服务器上的两个数据库的 OleDB 源查询
【发布时间】:2011-04-20 23:24:01
【问题描述】:

我正在开发一个 SSIS 包,它需要根据 ServerB 上的数据库表中的数据从 ServerA 中提取数据。我是 ServerB 上的 DBadmin,但对 ServerA 的访问权限非常有限。

我需要执行的查询,最好使用 OleDB 源组件,如下所示:

SELECT 
     Blah
FROM ServerA.Database1.dbo.TableA
WHERE Something IN (SELECT foo FROM ServerB.Database2.dbo.TableB)

是否可以这样做,还是我需要采取不同的方法?

编辑:我需要 24x7 每十分钟运行一次此查询,并且我不想从 ServerA 中提取数据,因为表中有数百万行,这是不能重载的业务关键应用程序的一部分.

【问题讨论】:

    标签: sql sql-server tsql ssis


    【解决方案1】:

    从 serverA 拉到第三个数据源,从 serverB 拉到同一个源,然后使用该源应用你的 where 子句。

    或者,从 serverA 拉到 serverB 并在 serverB 上应用你的 where 子句。


    回应评论,

    或者,从 serverB 拉到 serverA 并在 serverA 上应用你的 where 子句。这确实是您希望完成连接的地方,而不是您的 SSIS 包中。

    另外,看看您是否可以根据 B 之外的某些条件限制 serverA 中的大多数行,或者限制 serverB 中需要存在于 A 上的数据量,以便在传输到 SSIS 包之前进行粗略切割。


    我也想知道他们是否可以为您将 serverB 链接到 serverA...

    【讨论】:

    • 我需要每 10 分钟 24x7 运行一次此查询,并且我不想从 ServerA 中提取数据,因为表中有数百万行,这是关键业务应用程序的一部分不能超载。理想情况下,如果可能的话,我想一气呵成地完成所有工作。
    猜你喜欢
    • 2011-07-05
    • 1970-01-01
    • 2017-11-18
    • 1970-01-01
    • 2021-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多