2011-06-02 16 views
6

में परिणामसेट की स्कीमा देखें Sql सर्वर प्रबंधन स्टूडियो (2008) में कोई तरीका है जिससे मैं क्वेरी के परिणामस्वरूप प्रत्येक फ़ील्ड के डेटा प्रकार देख सकता हूं?SQL सर्वर प्रबंधन स्टूडियो

इस मामले में, मैं एक संग्रहित प्रक्रिया चला रहा हूं जो परिणाम सेट देता है, और मैं nvarchar कॉलम की लंबाई और decimals की परिशुद्धता जानना चाहता हूं।

अतीत में, मैंने एक दृश्य बनाया है जिसमें संग्रहीत प्रक्रिया में अंतर्निहित क्वेरी है, और उसके बाद कॉलम सूची देखी गई है, लेकिन प्रक्रिया के भीतर क्वेरी इस मामले में ऐसा करने के लिए बहुत जटिल है।

कोई विचार?

उत्तर

6

त्वरित और गंदे स्निपेट, परिणाम सेट में सभी फ़ील्ड नाम या अलियाड की आवश्यकता होती है;

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

समान दृष्टिकोण और एक मृत गर्मी - माफ करना, मैं दोनों को जवाब के रूप में चिह्नित नहीं कर सकता। सर्वर के लिए एलेक्स के लिए अंक =। और sp_columns sp_help से अधिक विशिष्ट होने के नाते। बहुत धन्यवाद। –

+1

आपको इस सुविधा का उपयोग करने के लिए "विज्ञापन-प्रसार वितरित प्रश्न" सक्षम करना होगा: sp_configure 'उन्नत विकल्प दिखाएं', 1; पुन: कॉन्फ़िगरेशन; sp_configure 'विज्ञापन हॉक वितरित क्वेरीज़', 1; पुन: कॉन्फ़िगरेशन; जाओ –

4

आपकी सर्वश्रेष्ठ शर्त किसी तालिका में प्रक्रिया के आउटपुट को संग्रहीत करने के लिए OPENROWSET का उपयोग करने के लिए हो सकती है, फिर उस तालिका की जांच करें। कुछ ऐसा:

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

sp_help 'YourHoldingTable' 
GO 

DROP TABLE 'YourHoldingTable' 
GO 
संबंधित मुद्दे