5

我可以让我的执行 SQL 任务查看 2 个不同的连接管理器吗?例如:我需要来自 ServerA/DatabaseA 的数据来查询 ServerB/DatabaseB。所以现在我需要编写一个查询并从两台服务器检索数据。现在2台服务器都不是链接服务器,不一定。

这是否可能,请告诉我。

4

2 回答 2

1

我之前必须找到一种方法来解决缺少链接服务器的问题,并且我已经做了类似的事情 - 试一试:

if object_id('tempdb..#mytemptable') is not null begin drop table #mytemptable end
select * into #mytemptable
from openrowset('SQLNCLI10','Server=TheOtherServersName;Trusted_Connection=yes;','SELECT * FROM FullyQualifiedName.dbo.MyTable')
/* Now use the temptable created on this server to do your join/subquery on whatever */
select * from MyOtherTable a
join #mytemptable b on a.id = b.id

干杯!

于 2013-02-13T21:05:47.253 回答
1

Server A为和添加具有单独数据流源任务的数据流任务Server B。然后使用适当的数据流转换任务连接结果。

例如,此数据流接受一个Flat File SourceOLEDB Source任务,对结果进行排序,然后将Merge Join任务用于结果。听起来您的实现需要两个OLEDB Sources或(ODBC、ADO NET 等)。

我喜欢链接服务器上的这种方法,或者OPENROWSET,因为您不必配置链接服务器或Adhoc Distributed Queries在 SQL Server 数据源上启用。

SSIS 数据流

于 2013-02-13T21:17:26.433 回答