Ich Verfahren vom Server B Aufruf:Openquery Verfahren von Verbindungsserver
select * from openquery(A,'exec sp_qa2')
sp_qa2 in Server A sind dies:
use master
go
create procedure sp_qa2
begin
declare @sql nvarchar(1000)
SET @sql = 'USE [?]; EXEC [dbo].[sp_qa1]'
EXEC sp_MSforeachdb @sql
end
und sp_qa1 in Server A ist dies:
create procedure sp_qa1
begin
declare @a int
end
Dieser Fehler wird zurückgegeben:
Nachricht 208, Ebene 16, Status 1, Prozedur sp_MSforeach_worker, Zeile 102 [Stapel Start Zeile 2] ungültiger Objektname "#qtemp".
Wie kann ich das beheben?
Es sieht aus wie '# qtemp' wurde in' nicht erstellt sp_MSforeach_worker'. Können Sie Code von dieser Prozedur veröffentlichen, in der dieser Fehler auftritt? Außerdem wird dieses Verfahren nirgends in dem von Ihnen angegebenen Code erwähnt. Wie wird es ausgeführt? – Aidan
Diese # Qtemp Tabelle in sp_MSforeach_worker ist Systemprozedur, die jeder hat. Das habe ich nicht geschaffen. – Sher
So ist es, meine Entschuldigung. – Aidan