2011-11-16 15 views
6

मुझे किसी विशिष्ट डेटाबेस से सभी संग्रहीत प्रक्रियाओं को डाउनलोड करना होगा।मैं किसी विशिष्ट डेटाबेस से सभी संग्रहीत प्रक्रियाओं को कैसे डाउनलोड कर सकता हूं

लगभग 130 संग्रहीत प्रक्रियाएं हैं, और मैं इसे प्रत्येक फ़ाइल के रूप में सहेजकर मैन्युअल रूप से कर सकता हूं।

लेकिन क्या सभी डाउनलोड करने के लिए कोई स्वचालित विकल्प है?

उत्तर

16

1) ओपन SQL सर्वर प्रबंधन स्टूडियो 2) वस्तु एक्सप्लोरर 3) में अपने डेटाबेस का चयन करें पर राइट क्लिक करें> कार्य> स्क्रिप्ट

enter image description here

4 उत्पन्न) केवल संग्रहित प्रक्रियाओं का चयन करें बाहर की पटकथा लिखी जा करने के लिए

enter image description here

5) चरणों के माध्यम से जादूगर के बाद; अगली स्क्रीन पर, विकल्प Single file per object लेने और जहां उन फ़ाइलों को डाल करने के लिए एक निर्देशिका को परिभाषित:

enter image description here

उन विकल्पों के साथ

, आप संग्रहीत प्रक्रिया प्रति एक फ़ाइल, अपनी पसंद का निर्देशिका में संग्रहीत मिलता है।

+0

अरे, मैं प्रत्येक एसपी के लिए 130 अलग-अलग फाइलों को चाहता हूं :(यह मुझे केवल एक फ़ाइल दे रहा है – Neo

+0

@ashuthinks: जहां भी आप उन्हें पसंद करते हैं! जादूगर के माध्यम से कदम - यह आपको पूछेगा कि क्या आप सभी संग्रहित प्रोसेस के लिए एक फ़ाइल चाहते हैं , या एक संग्रहित प्रति फ़ाइल एक फ़ाइल, और यह आपको पूछेगी कि उन्हें कहां स्टोर करना है ... –

+1

@ashuthinks: मेरा तीसरा स्क्रीनशॉट देखें - क्या आप जो खोज रहे हैं ??? ** प्रति ऑब्जेक्ट एक फ़ाइल ** ?? –

3

आप इसे प्रबंधन स्टूडियो में कर सकते हैं - अपने इच्छित डेटाबेस पर राइट क्लिक करें और कार्यों का चयन करें -> स्क्रिप्ट जेनरेट करें -> विज़ार्ड के माध्यम से जाएं। आप तो बस प्रक्रियाओं आदि

आप भी इस तरह एक स्क्रिप्ट का उपयोग कर सकते हैं संग्रहीत निर्दिष्ट कर सकते हैं:

SET NOCOUNT ON 
DECLARE @Test TABLE (Id INT IDENTITY(1,1), Code VARCHAR(MAX)) 

INSERT INTO @Test (Code) 
SELECT 'IF object_ID(N''[' + schema_name(schema_id) + '].[' + Name + ']'') IS NOT NULL 
      DROP PROCEDURE ['+ schema_name(schema_id) +' ].[' + Name + ']' + CHAR(13) + CHAR(10) + 'GO' + CHAR(13) +CHAR(10) + 
      OBJECT_DEFINITION(OBJECT_ID) + CHAR(13) +CHAR(10) + 'GO' + CHAR(13) + CHAR(10) 
      FROM sys.procedures 
      WHERE is_ms_shipped = 0 

DECLARE @lnCurrent INT, @lnMax INT 
DECLARE @LongName VARCHAR(MAX) 

SELECT @lnMax = MAX(Id) FROM @Test 
SET @lnCurrent = 1 
WHILE @lnCurrent <= @lnMax 
     BEGIN 
      SELECT @LongName = Code FROM @Test WHERE Id = @lnCurrent 
      WHILE @LongName <> '' 
       BEGIN 
        PRINT LEFT(@LongName,8000) 
        SET @LongName = SUBSTRING(@LongName, 8001, LEN(@LongName)) 
       END 
      SET @lnCurrent = @lnCurrent + 1 
     END 

तुम भी बदल सकते हैं + सभी संग्रहित प्रक्रियाओं चुनने के लिए क्लिक और आप तो राइट क्लिक करें और स्क्रिप्ट कर सकते हैं उन्हें एक फाइल में।

-2

आप यह भी करने के लिए डीबी प्रो (डेटाबेस के लिए विजुअल स्टूडियो टूल्स) का उपयोग कर सकते हैं। अधिक जानकारी के लिए यह जांचें - https://www.mssqltips.com/sqlservertip/2971/creating-a-visual-studio-database-project-for-an-existing-sql-server-database/

संपादित करें: पुराना लिंक अपडेट किया गया।

+0

दुर्भाग्य से, लिंक अब मर चुका है। केवल उसी कारण से लिंक-केवल उत्तर निराश होते हैं। अगर उत्तर को कुछ सामग्री शामिल करने के लिए संपादित किया गया था, तो इसे सहेजा जा सकता है। –

संबंधित मुद्दे

 संबंधित मुद्दे