Widziałem wszystkie referencje dotyczące sprawdzania dwóch różnych tabel na dwóch różnych serwerach SQL i rozumiem, w jaki sposób należy je wdrożyć. Jednak polecenie nie wydaje się działać z tabelami tymczasowymi utworzonymi za pomocą ##
.Kwerendowa globalna tabela tymczasowa na połączonym serwerze
Jeśli napiszę połączenie na jednym serwerze i odniesie się do jednej tabeli tymczasowej na tym serwerze i jednej tabeli tymczasowej na drugim serwerze, SQL Server zakłada, że ponieważ w poleceniu znajduje się ##
, automatycznie wyszukuje lokalne serwer tempdb
, a nie zdalny. W tej chwili nie mogę też użyć OPENROWSET
, ponieważ funkcja została wyłączona i muszę uzyskać zgodę na jej ponowne włączenie.
Moje pytanie dotyczy sposobu, w jaki mogę przekonfigurować to polecenie, aby rozpoznać, na które dane należy patrzeć?
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
Czy pilot tabeli temp stworzony przez oddzielny proces, albo ten sam, który jest łączenie ich ze sobą? –