5

मान लीजिए कि आपके पास एक डेटाबेस प्रोजेक्ट है और आपके पास अपने डेटाबेस.sqldeployment सेटिंग्स में "हमेशा डेटाबेस बनाएं" चेक-इन नहीं है। और मान लीजिए कि आप उस सर्वर पर तैनात हैं जो पहले से ही आपके द्वारा तैनात किए जा रहे नाम के नाम से डेटाबेस है।ड्रॉप डेटाबेस को उत्पन्न करने से आप VS2010 डेटाबेस प्रोजेक्ट परिनियोजन को कैसे रोकते हैं?

डेटाबेस की तैनाती किस अन्य परिस्थितियों में "ड्रोप डेटाबेस" कथन के साथ एक स्क्रिप्ट उत्पन्न करेगी?

यदि आपने कभी भी कभी नहीं किया है, तो कभी भी कभी भी अपने डेटाबेस प्रोजेक्ट पर राइट क्लिक करके जेनरेट की गई तैनाती स्क्रिप्ट द्वारा छोड़ा जाना चाहिए और "तैनाती" का चयन करके, आप इसे रोकने के लिए कुछ कदम उठा सकते हैं?

+0

कोई भी मौका आप परियोजना और सेटिंग्स फ़ाइलों को पोस्ट कर सकते हैं? आपके द्वारा उल्लिखित विकल्प AFAIK एकमात्र ऐसा है जो ड्रॉप डेटाबेस को स्क्रिप्ट करने का कारण बनता है। –

+0

दुर्भाग्य से, नहीं, क्योंकि परियोजना ग्राहक से संबंधित है। इसके अलावा, मैं इसे पुन: पेश नहीं कर सकता। परियोजना अब ड्रॉप के बिना स्क्रिप्ट उत्पन्न करती है। मैं यह पता लगाने की कोशिश कर रहा हूं कि इससे पहले एक बूंद के साथ स्क्रिप्ट उत्पन्न करने के कारण क्या हो सकता है। फ्रैंक, नीचे, लक्ष्य कनेक्शन के बारे में एक अच्छा विचार था। भले ही लक्ष्य कनेक्शन सेट किया गया हो, यह संभव है कि यह केवल मेरी प्रोजेक्ट सेटिंग्स में सेट किया गया हो, न कि मेरी अलग पर्यावरण सेटिंग्स में। मैंने यह भी माना कि शायद एक लक्ष्य कनेक्शन परिभाषित किया गया है, लेकिन वीपीएनएड होने के कारण यह हो सकता है। idk। –

+0

आह जो समझ में आता है। हाँ पृथक देव बनाम परियोजना सेटिंग्स थोड़ा उलझन में हो सकता है। खुशी है कि उन्होंने एसएसडीटी में उस विचार को हटा दिया। क्या आपको याद है कि तैनाती पर बातचीत की गई है, या एक बिल्ड सर्वर ने इसे आपके लिए चलाया है? यदि यह उत्तरार्द्ध था तो बिल्ड लॉग में कुछ उपयोगी हो सकता है। –

उत्तर

3

"हमेशा पुन: बनाने वाले डेटाबेस" के अलावा, चेक आउट नहीं किया जा रहा है, आपको अपने डेटाबेस प्रोजेक्ट के प्रॉपर्टी पेज पर डेवलपमेंट टैब भी देखना चाहिए। सुनिश्चित करें कि आप एक लक्ष्य कनेक्शन को परिभाषित करते हैं। जब आप एक को परिभाषित नहीं करते हैं तो प्रोजेक्ट हमेशा और केवल तैनात होगा-यदि लक्ष्य डेटाबेस मौजूद नहीं है। यह बर्ताव डिज़ाइन के चलते है। अधिक जानकारी के लिए यह link देखें।

मेरा सुझाव विंडोज प्रमाणीकरण का उपयोग कर कनेक्शन बनाना है ताकि प्रत्येक उपयोगकर्ता को उस विस्तार तक पहुंच प्राप्त हो सके जो उन्हें माना जाता है।

इसके अलावा, कृपया ध्यान दें कि आप प्रत्येक तैनाती विन्यास (जैसे डिबग, रिलीज, आदि)

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

+1

धन्यवाद फ्रैंक। जैसा कि यह पता चला है, मेरे पास उस प्रोजेक्ट कॉन्फ़िगरेशन के लिए लक्षित लक्ष्य कनेक्शन था, यह एक वैध कनेक्शन स्ट्रिंग था, और मैंने केवल स्क्रिप्ट जेनरेट करने के लिए तैनाती की कार्रवाई की थी ताकि मैं मैन्युअल रूप से एसएसएमएस से चला सकूं। फिर भी लिपि में अभी भी एक ड्रॉप स्टेटमेंट था। आप कुछ बेहतरीन सुझाव देते हैं, और आपके द्वारा प्रदान किए गए महान लिंक को पढ़ने के बाद भी, मुझे अभी भी ऐसा लगता है कि मेरी तैनाती स्क्रिप्ट ने ड्रॉप डेटाबेस उत्पन्न किया है। –

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