SQL सर्वर प्रबंधन स्टूडियो 2012: SSMS प्रोजेक्ट में फ़ोल्डर कैसे हों?


17

मैं SSMS 2012 का उपयोग SQL सर्वर 2012 और Azure SQL सर्वर का उपयोग करने के लिए करता हूं। मैं मानता हूं कि मैं एक SQL विशेषज्ञ नहीं हूं इसलिए मैं भविष्य में संदर्भ के लिए अपनी अधिकांश SQL स्क्रिप्ट सहेज रहा हूं। मैं जल्दी से 20 या तो .SQL स्क्रिप्ट SSMS परियोजना में चला रहा हूँ और वे सभी एक ही 'क्वेरी' फ़ोल्डर के तहत रह रहे हैं।

क्या कोई तरीका है जिससे मैं प्रोजेक्ट में "सब-फ़ोल्डर्स" बना सकूं ताकि मैं अपनी स्क्रिप्ट को ठीक से व्यवस्थित कर सकूं? अधिकांश अन्य लोग अपनी लिपियों को व्यवस्थित कैसे रखते हैं? मुझे पूरा यकीन है कि अगर यह मेरी तरह एक नौसिखिया है, तो यह वास्तविक व्यवस्थापक के लिए एक वास्तविक मुद्दा होना चाहिए (संभावित सैकड़ों लिपियों के साथ?)


2
मेरा एक दोस्त है जो एक विशालकाय .sqlफाइल में अपनी सारी स्क्रिप्ट रखता है । इस तरह से आपको केवल एक फ़ाइल का ट्रैक रखना है।
मैक्स वर्नोन

मुझे ऐसे लोगों के बारे में पता है जो सिर्फ उन्हें एक फ़ोल्डर में रखते हैं जो उनके ड्रॉपबॉक्स खाते से सिंक होता है। फिर जो लोग इसे अपने SkyDrive पर भी सहेजते हैं। मैं वास्तव में SSMS में परियोजनाओं का उपयोग करने वाला नहीं हूं।

यह वह जगह है जहाँ स्क्रिप्ट प्रबंधक काम आ सकता है, अगर आपको इसकी आदत हो। हालांकि मुझे यह पसंद आया, मेरे लिए यह थोड़े क्लिक नहीं हुआ। मैं सिर्फ अपनी स्क्रिप्ट को स्थानीय रूप से सहेजना पसंद करता हूं, कुछ फ़ोल्डर में जो मैं ड्रॉपबॉक्स पर बैकअप लेता हूं। SSMS परियोजनाओं को भी पसंद नहीं किया।
मैरियन

आप SQLTreeo का उपयोग कर सकते हैं, यहां टूल: sqltreeo.com

जवाबों:


7

अंत में, SSMS 2016 में सबफ़ोल्डर्स को संभव बनाया गया।

सतर्क उपयोगकर्ता: आप SSMS 2016 को स्थापित कर सकते हैं और फिर भी पुराने का उपयोग कर सकते हैं। [1]नीचे देखें नोट

एक बार वहाँ, परियोजनाओं के बजाय समाधान का उपयोग करना शुरू करें ।


सबफ़ोल्डरिंग इस तरह काम करती है:

समाधान सबफ़ोल्डर जोड़ना:

  1. समाधान आइटम (ट्री रूट) पर राइट-क्लिक करें और मेनू से Add > New Solution Folder चुनें
  2. चरण 1 अब आपके द्वारा जोड़े गए किसी भी फ़ोल्डर पर भी काम करता है।

SQL स्क्रिप्ट जोड़ना:

  • किसी भी फ़ोल्डर को उसके एड मेनू से राइट-क्लिक करें , या तो मौजूदा एसक्यूएल फ़ाइल या नई एसक्यूएल फ़ाइल जोड़ें (सूची में, उस आइटम प्रकार को ढूंढें जिसमें कोई अतिरिक्त एक्सटेंशन है)।

आपकी अच्छी पुरानी परियोजनाएँ (खराब पुरानी परियोजनाएँ)

  • आप अभी भी अपने समाधान में परियोजनाओं की मेजबानी कर सकते हैं यदि आप उन्हें कुछ विरासत कारणों से, होस्टिंग कनेक्शन के लिए, आदि के लिए फायदेमंद देखते हैं, तो बस नए या मौजूदा परियोजनाओं को समाधान में आयात करें।

[1] उन्नयन के बारे में:

  1. SQL Server 2008 - 2016 आधिकारिक तौर पर SSMS 2016 द्वारा समर्थित हैं । डाउनलोड पृष्ठ पर अधिक जानकारी देखें। पुराने संस्करणों के लिए, आप अपने पसंदीदा पुराने एसएसएमएस को रख सकते हैं, नीचे बिंदु 2 देखें।

    • एकमात्र सेटिंग जिसे आपके ध्यान की आवश्यकता हो सकती है विकल्प > SQL सर्वर ऑब्जेक्ट एक्सप्लोरर > सर्वर संस्करण के लिए स्क्रिप्ट > (अपना सर्वर संस्करण सेट करें)
  2. विभिन्न SSMS संस्करण एक साथ अच्छी तरह से रहते हैं , अर्थात आप SSMS 2008 और SSMS 2016 को बिना किसी समस्या के एक साथ स्थापित कर सकते हैं - परीक्षण किया गया।


यह आसान है। यह ध्यान देने योग्य है कि हुड के तहत एसएसएमएस इन सभी फाइलों को एक एकल निर्देशिका में एक फ्लैट फ़ाइल संरचना में संग्रहीत कर रहा है, इसलिए आपके पास दो अलग-अलग फ़ोल्डरों में एक ही नाम वाली फाइल नहीं हो सकती है।
जॉन

@ जॉन - यह बिल्कुल सच नहीं है। यह पहली नज़र में भ्रामक लग सकता है, लेकिन प्रोजेक्ट ट्री में दिखाई गई फ़ाइल और फ़ोल्डर संरचना डिस्क पर फ़ाइलों के loaction से स्वतंत्र है। डिस्क पर, इसे सपाट होने की आवश्यकता नहीं है (बस नई फ़ाइलों को कहीं और सहेजने का प्रयास करें ...), आप उन्हें निर्देशिकाओं में वितरित कर सकते हैं जैसे आप चाहते हैं। दूसरे शब्दों में: फाइल सिस्टम में किसी भी डायरेक्टरी में फाइल रखें और फिर आप उन्हें SSMS प्रोजेक्ट ट्री में किसी भी वर्चुअल फोल्डर में जोड़ सकते हैं। (यदि मुझे सही ढंग से याद है, तो भी संदर्भों का दोहराव संभव है।) नकारात्मक पक्ष: आपको दो बार फाइलों को व्यवस्थित करने की आवश्यकता है - डायरियों में और परियोजना फ़ोल्डरों में।
miroxlav

6

SSMS में, यदि आप पहले से ही खाका ब्राउज़र प्रदर्शित नहीं कर रहे स्नैप-में, मेनू, देखें, खाका एक्सप्लोरर (हॉट की Ctrl- Alt- T)।

इस फ़ोल्डर से आपके स्थानीय मशीन से टेम्प्लेट लोड किए गए हैं

C: \ Program Files (x86) \ Microsoft SQL Server \ 110 \ Tools \ Binn \ ManagementStudio \ SqlWorkbenchProjectItems \ Sql

आप सबफ़ोल्डर्स को अपनी इच्छानुसार जोड़ सकते हैं और यहां तक ​​कि उन्हें घोंसले में भी रख सकते हैं (विंडोज़ एक्सप्लोरर या एसएसएमएस के माध्यम से)। यदि मैं गलत नहीं हूँ तो फ़ोल्डर केवल SSMS स्टार्टअप के अनुसार एक बार लोड किए जाते हैं, इसलिए आपको फ़ाइल सिस्टम से फ़ोल्डर परिवर्तन लेने के लिए SSMS को पुनरारंभ करना पड़ सकता है।

p / s - यह विधि प्रोजेक्ट स्क्रिप्ट को व्यवस्थित करने के उद्देश्य से टेम्प्लेट ब्राउज़र को पुनः बनाता है!


एक उत्तर से दूर लेकिन यह अब तक सुझाए गए कम से कम कुल्डी हैक है! साझा करने के लिए धन्यवाद, मैं इसे कुछ और दिनों के लिए खुला
रखूंगा

4

अफसोस की बात है कि SSMS प्रोजेक्ट्स सबफ़ोल्डर्स का समर्थन नहीं करते हैं। यदि आप उस डिफ़ॉल्ट फ़ोल्डर के बारे में बात कर रहे हैं जिसमें SQL सामान को बचाता है, तो हाँ आप वहां सबफ़ोल्डर बना सकते हैं। वह सिर्फ आपकी हार्ड ड्राइव पर एक फ़ोल्डर है। वह फ़ोल्डर डिफ़ॉल्ट रूप से "C: \ Users {username} \ Documents \ SQL Server Management Studio \ Projects" में स्थित है।


2

सबफ़ोल्डर्स की कमी निश्चित रूप से निराशाजनक है। मैं एक ही समाधान में अलग-अलग परियोजनाओं में अपने सामान को व्यवस्थित करने का प्रयास करने जा रहा हूं। हर एक के पास एक क्वेरी फ़ोल्डर है ... मैं परियोजनाओं का नाम देने जा रहा हूं जिस तरह से मैं सबफ़ोल्डर्स का नाम दूंगा (यदि मैं उन्हें बना सकता था!)।


1

C: \ Program Files (x86) \ Microsoft SQL Server \ 110 \ Tools \ Binn \ ManagementStudio \ SqlWorkbenchProjectItems \ _ql पर पुन: purposing द्वारा स्थिति के चारों ओर काम करते हुए, उत्तर 3 में जोड़ना।

आपको पूर्ण नियंत्रण के लिए मशीनों के उपयोगकर्ता खातों में अनुमतियाँ डालनी होंगी। (गंतव्य फ़ोल्डर पर राइट क्लिक करें, गुण, मशीन उपयोगकर्ताओं का चयन करें, संपादित करें, आदि)

फिर भी यह ऐसा है जैसे स्टीव बाल्मर ने इस समाधान को पारित कर दिया। आप वहां एक फ़ाइल सहेज सकते हैं, लेकिन जब यह SSMS में खोला जाता है, तो यह उस .sql फ़ाइल के नाम के तहत नहीं खोला जाता है, यह एक सामान्य नाम है। तो यह सब कठोर है बस अपने प्रश्नों, कार्यों, टेबल स्क्रिप्ट, sprocs, आदि को व्यवस्थित रखने के लिए।

शानदार जवाब लेकिन विंडोज 8.1 पर, यह पहले से ही बंद हो गया।

मेरे पास सबसे अच्छा उत्तर SSMS के माध्यम से फाइल सिस्टम में सेव हो रहा है जो मुझे लगता है कि .sql फाइलों के नेस्टिंग का सम्मान करेगा। मुझे विजुअल स्टूडियो 2013 में एक डेटाबेस प्रोजेक्ट बनाना है, जिसमें मैं फ़ोल्डर्स सेट कर सकता हूं क्योंकि वे मेरे उत्पाद प्रवाह के लिए समझ में आते हैं।

लेकिन मैं विजुअल स्टूडियो में सर्वर एक्सप्लोरर के माध्यम से इन प्रश्नों को नहीं खोल सकता ... हालांकि यदि वे कार्य में हैं, तो SPROC लिपियों, UDF लिपियों इत्यादि में प्रश्नों को एक जगह पर रखना संभव है।

इस तरह की परियोजना के काम करने के लिए कोई आईडीई नहीं है और यहां एक और प्रतिवादी के शब्दों में हां, यह दुख की बात है।

यहां थोड़ा घूमना और तोड़-फोड़ करना ... दूसरे शब्दों में, मुझे वीएस 2013 में एक डीबी प्रोजेक्ट के साथ फ़ोल्डर की संरचना मिल सकती है, लेकिन अगर मैं उन्हें जांचने के लिए रिमोट सर्वर पर लॉग इन करना चाहता हूं, तो मुझे उन्हें फ़ाइल से फ़ाइल तक पहुंचना होगा SSMS। पीठ की तरफ दर्द ... मुझे एक आईडीई चाहिए जो ऐसा करता है।


0

मैंने समाधान के नीचे फ़ोल्डर्स जोड़ने के लिए SSMS प्रोजेक्ट फ़ाइल को मैन्युअल रूप से संपादित करके प्रगति की। पाठ संपादक में .ssmssqlproj फ़ाइल खोलें। LogicalFolder नामक नोड्स के लिए खोजें। विविध नोड आपको क्या करने की आवश्यकता के लिए एक अच्छा मॉडल है।

बस इन पंक्तियों को कॉपी करें और नाम को उस फ़ोल्डर में बदलें जिसे आप देखना चाहते हैं। टाइप वैल्यू को कुछ यूनीक में भी बदलें। मैंने जो किया था यह रहा।

<LogicalFolder Name="Tables" Type="4" Sorted="true">
  <Items />
</LogicalFolder>
<LogicalFolder Name="Functions" Type="6" Sorted="true">
  <Items />
</LogicalFolder>
<LogicalFolder Name="User-defined Table Types" Type="7" Sorted="true">
  <Items />
</LogicalFolder>

परियोजना के चरण (.msmsqlproj) की एक कॉपी रखने के लिए सुनिश्चित करें। यदि आप संपादन में गड़बड़ी करते हैं, जैसा कि मैंने कुछ बार किया, तो परियोजना नहीं खुलेगी। यह इतना बुरा नहीं होगा यदि आपने टीएफएस ऐड-इन स्थापित किया है और अपनी परियोजना फाइलों में जाँच कर रहे हैं - आप केवल परिवर्तनों को छोड़ सकते हैं। लेकिन यदि नहीं, तो सुनिश्चित करें कि आप एक प्रतिलिपि बनाएँ।

फिर मैं तार्किक फ़ोल्डर नामों से मिलान करने के लिए समाधान के तहत फ़ोल्डर बनाता हूं। उसके बाद मैंने एक टेबल डेफिनिशन स्क्रिप्ट और एक यूज़र-डिफ़ाइंड टेबल टाइप डेफिनिशन स्क्रिप्ट बनाई, और उन्हें अपने संबंधित फ़ोल्डरों में सहेजा। उन्होंने समाधान एक्सप्लोरर में "विविध" फ़ोल्डर के नीचे दिखाया, इसलिए मैंने उन्हें उचित फ़ोल्डर में खींच लिया।

यहीं से चीजें टूट गईं। क्योंकि, मुझे लगता है, सभी संग्रहीत कार्यविधियाँ, फ़ंक्शंस, तालिका और प्रकार उन फ़ाइलों में हैं जिनके पास .sql एक्सटेंशन है। क्योंकि .sql फाइलें हैं, उन्हें समाधान एक्सप्लोरर में क्वेरी फ़ोल्डर के तहत रखा गया था। हालांकि, वे अभी भी डिस्क पर सही फ़ोल्डर में शारीरिक रूप से हैं। तो यह सही दिशा में एक कदम है।

मैं देखना चाहता हूं कि क्या प्रोजेक्ट फ़ाइल में "टाइप" विशेषता एक विशिष्ट फ़ाइल एक्सटेंशन के साथ मेल खाती है, और यदि मैं यह पता लगा सकता हूं कि वे क्या हैं। अगर मुझे सही एक्सटेंशन मिल सकते हैं तो SSMS फाइलों को सही प्रोजेक्ट फोल्डर में रख देगा।

मैं विज़ुअल स्टूडियो को देख सकता हूं कि यह कैसे काम करता है, क्योंकि एसएसएमएस विज़ुअल स्टूडियो पर आधारित है, उनकी स्प्लैश स्क्रीन के अनुसार।

हालाँकि, मैं वहां भाग ले रहा हूँ, इसलिए शायद आप में से कोई एक बाकी का पता लगा सके!


यह मेरे लिए काम नहीं किया। यह खोलने में विफल रहता है।
सोहम दासगुप्ता
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.