我已经看过所有有关如何在两个不同的SQL服务器上查询两个不同的表的引用,并且我了解如何实现它。但是,该命令似乎不适用于使用##创建的临时表。

如果我在一台服务器上编写一个联接,并且引用了该服务器上的一个临时表,而另一台服务器上的一个临时表,则SQL Server会假定由于##在命令中,因此它会自动查看本地服务器的tempdb,而不是远程的。我现在也不能使用OPENROWSET,因为该功能已被禁用,我必须获得批准才能将其重新打开。

所以我的问题是,有一种方法可以重新配置此命令,以识别要查看的tempdb

SELECT *
FROM (##mytemptable1 Demog
INNER JOIN MyServer.tempdb.dbo.##mytemptable2 PeakInfo ON (Demog.SAMPLE_NO = PeakInfo.SampleNum)  AND  (Demog.JOB_NO = PeakInfo.JobNum) )
ORDER BY PeakInfo.JobNum, PeakInfo.SampleNum,   PeakInfo.Replicate ,PeakInfo.Reinjection ,PeakInfo.PeakNameCustSort

最佳答案

试试这个从链接服务器查询全局临时表

SELECT * FROM OPENQUERY(linkedServerName, 'SELECT * FROM ##temp')

关于sql-server - 查询链接服务器上的全局临时表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13693177/

10-11 04:49