2011-06-02 20 views
6

¿Hay algún modo en Sql Server Management Studio (2008) mediante el cual pueda ver los tipos de datos de cada campo en el resultado de una consulta?Ver el esquema del conjunto de resultados en SQL Server Management Studio

En este caso, estoy ejecutando un procedimiento almacenado que devuelve un conjunto de resultados, y me gustaría saber la longitud de las columnas nvarchar y la precisión de los decimales.

En el pasado, he creado una vista que contiene la consulta subyacente en el procedimiento almacenado, y luego veo la lista de columnas, pero la consulta dentro del procedimiento es demasiado compleja para hacerlo en este caso.

¿Alguna idea?

Respuesta

6

Fragmento rápido y sucio, requiere que todos los campos en el conjunto de resultados sean nombrados o con alias;

select * into #T 
from 
    openrowset('SQLNCLI', 'Server=.;Trusted_Connection=yes;', 'exec thedb.dbo.sp_whatever') 
exec('use tempdb exec sp_columns #T drop table #T') 
+0

Aproximaciones idénticas y un empate - lo siento, no puedo marcar ambos como una respuesta. Señala a Alex K para Servidor =. y sp_columns siendo más específico que sp_help. Muchas gracias. –

+1

Debe habilitar las "consultas distribuidas ad-hoc" para usar esta función: sp_configure 'show advanced options', 1; RECONFIGURA; sp_configure 'Consultas distribuidas ad hoc', 1; RECONFIGURA; IR –

4

Su mejor opción es usar OPENROWSET para almacenar la salida del procedimiento en una tabla, luego examine esa tabla. Algo como:

SELECT * INTO YourHoldingTable 
    FROM OPENROWSET('SQLNCLI', 'Server=YourServerName;Trusted_Connection=yes;', 'EXEC YourDatabase.YourSchema.YourProcedureName') 
GO 

sp_help 'YourHoldingTable' 
GO 

DROP TABLE 'YourHoldingTable' 
GO 
Cuestiones relacionadas