O uso de uma tabela temporária global nesse cenário pode causar problemas, pois a tabela existiria entre as sessões e pode resultar em alguns problemas ao usar o código de chamada de forma assíncrona.
Uma tabela temporária local pode ser usada se definida antes de chamar sp_executesql, por exemplo.
CREATE TABLE #tempTable(id int);
sp_executesql 'INSERT INTO #tempTable SELECT myId FROM myTable';
SELECT * FROM #tempTable;