2012-12-03 10 views
6

मैंने दो अलग-अलग SQL सर्वरों पर दो अलग-अलग तालिकाओं को क्वेरी करने के तरीके के बारे में सभी संदर्भ देखे हैं, और मैं समझता हूं कि इसे कैसे कार्यान्वित किया जाना है। हालांकि, आदेश ## के साथ बनाई गई अस्थायी तालिकाओं के साथ काम नहीं करता है।एक लिंक किए गए सर्वर पर वैश्विक temp तालिका क्वेरी करें

यदि मैं एक सर्वर पर एक जुड़ाव लिखता हूं, और यह उस सर्वर पर एक अस्थायी तालिका का संदर्भ देता है, और अन्य सर्वर पर एक अस्थायी तालिका का संदर्भ देता है, तो SQL सर्वर मानता है कि ## कमांड में है, यह स्वचालित रूप से स्थानीय को देखता है सर्वर का 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 
+0

दूरदराज के अस्थायी एक अलग प्रक्रिया के द्वारा बनाई गई तालिका, या एक ही एक है कि उन्हें एक साथ शामिल होने है? –

उत्तर

0

MSDN http://msdn.microsoft.com/en-us/library/ms186986(v=sql.105).aspx का कहना है कि वैश्विक अस्थायी तालिकाओं केवल SQL सर्वर के विशिष्ट उदाहरण पर दिखाई दे रहे:

वैश्विक अस्थायी तालिकाओं किसी भी उपयोगकर्ता और किसी तरह के संबंध के बाद वे बनाई गई हैं करने के लिए दिखाई दे रहे हैं, और हटाए जाते हैं जब सभी उपयोगकर्ता SQL सर्वर के उदाहरण से तालिका डिस्कनेक्ट का संदर्भ देते हैं।

इसके अलावा, किसी भी कार्रवाई के लिए एक स्पष्ट त्रुटि संदेश में दूरदराज के वैश्विक अस्थायी तालिका के परिणाम पर का प्रयास किया:

SELECT * FROM LinkedServerName.TempDB.dbo.##GLOBTABLE 

Database name 'TempDB' ignored, referencing object in tempdb.

लग रहा है जवाब की तरह नहीं है, कोई (आसान) तरीका है।

13

इस लिंक किए गए सर्वर से वैश्विक अस्थायी तालिका क्वेरी करने के लिए कोशिश

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

मैं इस काम को सत्यापित कर सकता हूं, सुनिश्चित नहीं है कि OP के पास OpenQuery तक पहुंच है, हालांकि OpenRowSet अक्षम कर दिया गया था। – scw

संबंधित मुद्दे