मैं अपने Visualstudio डेटाबेस प्रोजेक्ट को अपने डेटाबेस के साथ सिंक में कैसे रख सकता हूं?


11

मैं अपने डेटाबेस स्कीमा को अपने विज़ुअल स्टूडियो .dbproj डेटाबेस प्रोजेक्ट के साथ सिंक्रनाइज़ करना चाहता हूं।

अभी, मैं अपने अधिकांश डेटाबेस विकास कार्यों के लिए SSMS का उपयोग कर रहा हूं, और जब मुझे db स्कीमा और .bbproj को सिंक्रनाइज़ करने की आवश्यकता होती है, तो मैं मैन्युअल रूप से विज़ुअल स्टूडियो के स्कीमा तुलना टूल का उपयोग कर सकता हूं। मैं ऐसा क्यों चाहूंगा? चूंकि :

  • यह चेकइन परिवर्तनों का एकमात्र तरीका है
  • यह परिवर्तनों को लागू करने का एकमात्र तरीका है
  • ऐसा करने में विफलता फ़ाइलों को प्राप्त करते समय कुछ मर्ज मुद्दों का कारण बनेगी (मूल रूप से, यदि "नवीनतम प्राप्त करें" में db ऑब्जेक्ट्स पर कुछ डीबी परिवर्तन शामिल हैं जिन्हें मैं अपडेट कर रहा हूं, उनकी जांच कर रहा हूं, तो मर्ज ट्रिगर नहीं होगा, और यह आसान है किस संस्करण का ट्रैक रखें)
  • स्कीमा के अप-टू-डेट संस्करण पर VisualStudio की खोज सुविधाओं का उपयोग करने में सक्षम होना अच्छा है
  • खोज परिणामों का उपयोग करके VS से संग्रहीत प्रक्रियाओं को संशोधित करने में सक्षम होना अच्छा है (आमतौर पर जब आपने फ़ाइल का नाम बदला है)।

"स्कीमा तुलना" टूल को स्वचालित करने के अलावा इसे हर 5 मिनट में चलाने के लिए (जो शायद ही "स्वच्छ" समाधान की तरह लगता है), क्या इसे प्राप्त करने के तरीके हैं?

यदि संभव हो तो मैं SSMS का उपयोग करना चाहता हूं, लेकिन मैं .dbproj पर विजुअल स्टूडियो के "सर्वर एक्सप्लोरर / डेटाबेस कनेक्शन" का उपयोग करके किए गए परिवर्तनों को स्वचालित रूप से प्रचारित करने के तरीकों में भी दिलचस्पी रखता हूं।


क्या आपने SSMS के साथ अपने डेटाबेस प्रोजेक्ट को सिंक्रोनाइज़ करने का एक तरीका खोजा?

जवाबों:


4

SQL सर्वर प्रबंधन स्टूडियो मुख्य रूप से एक SQL सर्वर प्रबंधन उपकरण है और, जैसे कि, उन परिदृश्यों का समर्थन करने के लिए जरूरी नहीं है जिन्हें आप खोज रहे हैं।

विजुअल स्टूडियो टीम सिस्टम 2008 डेटाबेस संस्करण और विजुअल स्टूडियो टीम सिस्टम 2010 प्रो / अल्टीमेट में डेटाबेस डेवलपर टूल (वीएसडीबी) शामिल हैं, जो व्यापक डेटाबेस परिसंपत्तियों के साथ अपने डेटाबेस स्कीमा / व्यू / प्रोक / आदि को एकीकृत करने में मदद करते हैं। उनके ऐप के विकास के साथ विकास।

वीएसडीबी आपको मौजूदा डीबी के स्कीमा को विजुअल स्टूडियो परियोजनाओं में रिवर्स-इंजीनियर करने की अनुमति देता है ताकि आप प्रति-स्कीमा-तत्व स्क्रिप्ट फ़ाइलों को स्रोत-नियंत्रण कर सकें। SQL 2005/2008/2010 द्वारा समर्थित व्यावहारिक रूप से सभी स्कीमा तत्वों के निर्माण के लिए आप SQL सर्वर स्कीमा स्क्रिप्ट को संशोधित / बना सकते हैं।

वीएसडीबी खाली / मौजूदा डीबी स्कीमा अपडेट को खाली / मौजूदा डीबी को अपडेट करने के लिए तैनात करने की क्षमता का समर्थन करता है, जहां यह मौजूदा डीबी को संशोधित करने के लिए आवश्यक परिवर्तनों को लागू करने का प्रयास करने के लिए एक बड़ी मात्रा में काम करता है (यदि वर्तमान में) ताकि यह संरचना को प्रतिबिंबित करे स्रोत VSDB डेटाबेस प्रोजेक्ट।

वीएसडीबी में डीबी और / या डीबी परियोजनाओं के बीच स्कीमा की तुलना करने में आपकी सहायता करने के लिए कई उपकरण शामिल हैं और आपको टेबल सामग्री को अलग और विलय करने की अनुमति भी देता है।

हालांकि, ध्यान दें कि जब यह टूलसेट आज समर्थित है, तब से टीम भंग हो गई है और उत्पाद रखरखाव मोड में है। SQL सर्वर उत्पाद समूह अब डेवलपर्स के लिए उपकरण बनाने की ज़िम्मेदारी रखता है और केवल उस कार्य को करने में कठिन होता है :)


1
मैं पहले से ही वीएस 2010 डीबी सुविधाओं का उपयोगकर्ता हूं। लेकिन मुझे अभी तक यह पता लगाना नहीं है कि इसका उपयोग करने के लिए एक ही समय में मेरे डेटाबेस प्रोजेक्ट और मेरे डेटाबेस प्रोजेक्ट दोनों को तुरंत कैसे संशोधित किया जाए। हर एक संशोधन के बाद स्कीमा की तुलना करना बहुत अधिक परेशानी
भरा है

कल वीएसडीबी को देखना शुरू करने के बाद, मुझे आपके अंतिम पैराग्राफ के बजाय चिंताजनक लगता है। लगता है कि मुझे ज्यादा समय या ऊर्जा का निवेश नहीं करना चाहिए ...?
बेंजॉल

1

वहाँ दो तरीके हैं कि मैं VS2010 परम विशेषताओं के साथ यह करने के लिए पता है।

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

दूसरा उपाय, मेरी राय में, सबसे अच्छा समाधान है। आप एक परिनियोजन प्रक्रिया सेट कर सकते हैं जो केवल एक क्लिक लेती है। विज़ुअल स्टूडियो में आपकी फ़ाइलों को संपादित करने से वे अपने आप स्रोत नियंत्रण से बाहर हो जाएंगे। मैंने पहली विधि के साथ काम किया है, लेकिन स्कीमा की तुलना करना हमेशा कठिन होता है। इसके अलावा, कम से कम मेरे लिए, स्कीमा तुलना उपकरण दृश्य स्टूडियो को बहुत क्रैश करता है।
क्रिश हार्पर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.