我可以让我的执行SQL任务查看2个不同的连接管理器。 对于实例:我需要来自ServerA / DatabaseA的数据查询ServerB / DatabaseB。 所以现在我需要编写一个查询并从两个服务器检索数据。 现在2台服务器不是链接服务器,不一定。
请允许我知道这是否可能。
答案 0 :(得分: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
干杯!
答案 1 :(得分:1)
为Server A
和Server B
添加具有单独数据流源任务的数据流任务。然后使用适当的数据流转换任务连接结果。
例如,此数据流采用Flat File Source
和OLEDB Source
任务,对结果进行排序,然后使用Merge Join
任务获取结果。听起来你的实现需要两个OLEDB Sources
或(ODBC,ADO NET等)。
我喜欢链接服务器或OPENROWSET
上的此方法,因为您不必在SQL Server数据源上配置链接服务器或启用Adhoc Distributed Queries
。