2011-06-02 18 views
6

Sql Server Management Studio'da (2008) herhangi bir yol var mıdır, böylece her alanın veri türlerini bir sorgu sonucunda görüntüleyebilirim?SQL Server Management Studio'daki resultset'in şemasını görüntüleme

Bu durumda, sonuç kümesini döndüren bir saklı yordamı çalıştırıyorum ve nvarchar sütunlarının uzunluklarını ve ondalıkların kesinliğini bilmek istiyorum. Geçmişte, saklı yordamda temel sorgusu içeren bir görünümü oluşturduktan sonra sütun listesini görüntüledim, ancak yordam içindeki sorgu bu durumda bunu yapmak için çok fazla karmaşıktır. Üste Geri Bildirim Ver Daha fazla bilgi Daha fazla bilgi için bkz: http://www.microsoft.com/downloads/index.php?answerid=tr

Herhangi bir fikrin var mı?

cevap

6

Hızlı ve kirli kod pasajı, sonuç kümesindeki tüm alanların adlandırılmasını veya diğer adların kullanılmasını gerektirir;

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

Özdeş yaklaşımlar ve ölü bir ısı - özür dilerim Hem bir cevap olarak işaretleyemem. Sunucu için Alex K'ye puan =. ve sp_columns sp_help'ten daha spesifiktir. Çok teşekkürler. –

+1

Bu özelliği kullanmak için "Ad hoc dağıtılmış sorgular" ı etkinleştirmeniz gerekir: sp_configure 'gelişmiş seçenekleri göster', 1; RECONFIGURE; sp_configure 'Ad Hoc Dağıtılmış Sorgular', 1; RECONFIGURE; GO –

4

En iyi bahsiniz, prosedürün çıktısını bir tabloya kaydetmek için OPENROWSET kullanmak olabilir, daha sonra bu tabloyu inceleyin. Şunlar gibi:

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

sp_help 'YourHoldingTable' 
GO 

DROP TABLE 'YourHoldingTable' 
GO 
İlgili konular