Boa Tarde,
Esse é um dos recursos novos do SQL Server 2012 chamado Metadata Discovery.
No caso das versões anteriores, infelizmente não há muito o que fazer. Você teria que executar a consulta para uma temporária e recuperar o catálogo da temporária. Para diminuir o overhead, pode fazer um SELECT TOP(0) para gerar uma tabela vazia. Ex:
SELECT TOP(0) 1 As C1, GETDATE() As C2, 'ABC' As C3 INTO ##TMP
SELECT * FROM TempDB.INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '##TMP'
DROP TABLE ##TMP
[ ]s,
Gustavo Maia Aguiar
Blog:
http://gustavomaiaaguiar.wordpress.com
Vídeos:http://www.youtube.com/user/gmasql
Classifique as respostas. O seu feedback é imprescindível