El uso de OPENQUERY (procedimiento almacenado de exec) para crear una nueva tabla temporal falla con el error 11526

Tengo la versión completa de SQL Server 2012 instalada en mi PC de desarrollo.

Estoy tratando de seguir los ejemplos.aquí, que muestran cómo crear una nueva tabla temporal utilizando un procedimiento almacenado como fuente de los datos. Estoy tratando de combinar los resultados de varios procedimientos almacenados en una sola tabla temporal (la estructura / definición de columna de los diversos conjuntos de resultados es idéntica).

Para probar si la plomería está funcionando, emito esta consulta:

 SELECT * FROM OPENQUERY("FOO\SQL2012", 'exec mySchema.myStoredProc')

Pero recibo este error de esa simple consulta de selección de prueba de plomería:

Msg 11526, Nivel 16, Estado 1, Procedimiento sp_describe_first_result_set, Línea 1
Los metadatos no se pudieron determinar porque la declaración 'insertar #tmp (foo1, foo2, foo3) selecciona' O 'como foo1, foo2, foo3' en el procedimiento 'myStoredProc' usa una tabla temporal.

Si entiendo el error correctamente, OPENQUERY depende de que el servidor pueda extraer los tipos de datos de columna depersistente La definición en la base de datos, y la tabla temporal instanciada en mi proceso almacenado, al ser efímero, carece de una definición persistente. Si ese es el caso,¿Hay alguna configuración que le indique a OPENQUERY que haga lo mejor que pueda e intente hacer una suposición inteligente de los tipos de datos de la columna?

Aquí está el maniquí SP que estoy probando con:

create proc testproc
as
begin

create table #test
(id int, name varchar(5) );

insert into #test(id,name)values(1,'xxx');
select * from #test;
--drop table #test;   -- tried dropping and not dropping, same error either way
end

Respuestas a la pregunta(3)

Su respuesta a la pregunta