У меня та же проблема, что описана в статье Использование OPENROWSET для динамического получения результатов SP, когда SP содержит # временных таблиц .
Используя обходной путь, мне удается заставить вещи работать:
SELECT * FROM OPENROWSET( 'SQLNCLI', 'Server=SERVERNAME;Trusted_Connection=yes;', 'SET FMTONLY OFF; SET NOCOUNT ON; exec DatabaseName.dbo.zzTempSP @A=1,@B=2' )
Но я бы хотел выяснить, почему возникает ошибка.
У Эрланда Соммарскога есть хорошее объяснение в его статье Как обмениваться данными между хранимыми процедурами.