Como posso determinar os parâmetros exigidos por uma parte arbitrária do T-SQ

Basicamente, estou procurando um equivalente aSqlCommandBuilder.DeriveParameters que funcionará para T-SQL arbitrário.

Por exemplo, esta consulta requer um parâmetro:

SELECT @Foo [Foo], '@Bar' [Bar], @Baz [Baz]

Eu basicamente preciso extrair:

new[] { "Foo", "Baz" }

De cima. Eu poderia criar um analisador SQL, mas tenho uma conexão aberta com o SQL Server, portanto, prefiro usar uma opção existente, se possíve

Editar

Láte ser uma maneira de fazer isso, porque o Business Intelligence Development Studio do SQL Server é capaz de fazer isso com muito sucess

Edit 2:

@SQL BIDS está executando este comando para descrever os resultados:

exec sp_executesql N'SET FMTONLY OFF;SET FMTONLY ON;SELECT @Foo [Foo], ''@Bar'' [Bar], @Baz [Baz]',
    N'@Foo sql_variant,@Baz sql_variant',
    @Foo=NULL,@Baz=NULL

O que explica como pode determinar as colunas, masposs ser apenas análise de string para obter os parâmetros ...

questionAnswers(3)

yourAnswerToTheQuestion