2011-11-01 16 views
6

मैं अलग-अलग बनाई गई तालिका स्क्रिप्ट्स का एक गुच्छा सहेजने और अलग से संग्रहीत करने में सक्षम होना चाहता हूं।माइक्रोसॉफ्ट एसक्यूएल सर्वर प्रबंधन स्टूडियो एक स्क्रिप्ट के अंदर से स्क्रिप्ट चल रहा है

संपूर्ण डेटाबेस बनाने के लिए मेरे पास एक मास्टर। एसक्यूएल फ़ाइल होगी जो सभी स्क्रिप्ट को क्रम में कॉल करे ताकि टेबल में सभी विदेशी कुंजी सही क्रम में बनाई जाए।

मैं फिर भी सभी तालिका को रिवर्स ऑर्डर में छोड़कर पूरी तालिका संरचना को हटाने के लिए एक स्क्रिप्ट बना सकता था।

क्या ऐसा करने का कोई तरीका है?

उत्तर

13

अस्पष्ट r: SQLCMD आदेश का उपयोग करना:

: r < फ़ाइल नाम>

अतिरिक्त Transact SQL कथन पार्स करता है और बयान कैश में से निर्दिष्ट फ़ाइल से आदेश sqlcmd।

मान लें कि आपका बनाने लिपियों createT1.sql और createT2.sql फिर फ़ाइल .sql अपने गुरु होगा कुछ की तरह हैं:

create database foo; 
go 

use foo; 
go 

:r createT1.sql 
:r createT2.sql 
go 

इस वाक्य रचना के साथ-साथ SSMS में काम करता है, जब तक आप SQLCMD मोड सक्षम के रूप में, Editing SQLCMD Scripts with Query Editor देखना । dbutilsqlcmd लाइब्रेरी :r एक्सटेंशन का समर्थन करता है यदि आप इसे अपने एप्लिकेशन में एम्बेड करना चाहते हैं।

3

मुझे लगता है कि सबसे आसान तरीका है एक मास्टर बैच फ़ाइल के लिए होगा, और है कि बैच फ़ाइल के अंदर आप अपनी स्क्रिप्ट फ़ाइलों के सभी के लिए sqlcmd (* .sql) क्रमिक रूप से कह सकते हैं। http://www.mssqltips.com/sqlservertip/1543/using-sqlcmd-to-execute-multiple-sql-server-scripts/

1

जब से तुम सही अपने प्रश्न के शीर्षक में SSMS डाल दिया, मुझे लगता है कि तुम वहाँ से यह करने के लिए सक्षम होना चाहते हैं जा रहा हूँ:

यहां ऐसा करने के लिए पर एक अच्छा संदर्भ है।

आप SQLCMD मोड में SSMS चला सकते हैं। यह आपको अधिक लचीलापन देना चाहिए। आप here का त्वरित डेमो देख सकते हैं या Microsoft's website पर अधिक जानकारी के लिए देख सकते हैं।

सरल कमांड लाइन कार्यक्षमता के लिए, मैं व्यक्तिगत रूप से पावरशेल स्क्रिप्ट के साथ जाऊंगा। आप SQL सर्वर से कनेक्ट करने की अनुमति देने के लिए Microsoft SQL cmdlets में जोड़ सकते हैं या आप स्वयं को एसएमओ के साथ रोल कर सकते हैं या ओपन सोर्स एसक्यूएलपीएसएक्स जैसे तीसरे पक्ष के समाधान के साथ जा सकते हैं।

+0

वाह ये उत्तर सभी शानदार थे आप सभी को बहुत धन्यवाद! निश्चित रूप से यहां बहुत कुछ पोस्ट किया जाएगा यदि सभी उत्तरों यह अच्छा हैहाहा ^। ^ – chilleo

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