我正在开发一个SSIS包,它需要根据ServerB上DB表中的数据从ServerA提取数据。我是ServerB上的DBadmin,但对ServerA的访问非常有限。
我需要执行的查询,理想情况下使用OleDB源组件,如下所示:
SELECT
Blah
FROM ServerA.Database1.dbo.TableA
WHERE Something IN (SELECT foo FROM ServerB.Database2.dbo.TableB)
是否可以这样做,还是我需要采取不同的方法?
编辑:我需要每隔十分钟24x7运行一次这个查询,我不想从ServerA中提取数据,因为表中有数百万行,这是一个无法重载的业务关键应用程序的一部分答案 0 :(得分:0)
从serverA拉入第三个数据源,从serverB拉入同一个源,然后使用该源应用where子句。
OR,从serverA拉到serverB并在serverB上应用where子句。
回应评论,
OR,从serverB拉到serverA并在serverA上应用where子句。这就是你想要加入的地方,而不是你的SSIS包。
另外,看看你是否可以根据B之外的某些条件限制serverA中的大多数行,或者限制来自serverB的数据量,在转移到SSIS包之前,需要在A上进行粗略切割。
我也想知道他们是否可以为你将serverB链接到serverA ......