2013-07-12 9 views
6

अस्वीकरण: SO पर एक समान question है जो एसएसडीटी के पुराने संस्करण का जिक्र कर रहा है। चयनित उत्तर संदर्भ सेटिंग्स फ़ाइलें जो मेरे प्रोजेक्ट में नहीं हैं। मेरा मानना ​​है कि मेरे पास नए प्रोजेक्ट प्रारूप में सही तरीके से सेट की समतुल्य सेटिंग्स हैं।मैं अपने एसएसडीटी प्रकाशित स्क्रिप्ट से वैकल्पिक डेटाबेस स्टेटमेंट को कैसे हटा सकता हूं?

मैं एसएसडीटी के लिए नया हूं, और मुझे अभी तक भरोसा नहीं है कि मेरे डेटाबेस को अनजान तरीके से नहीं बदला जाए। सेटिंग्स को जिस तरह से मैं चाहता था, प्राप्त करने के बाद, मैंने यह देखने के लिए एक प्रकाशन की कोशिश की कि यह मेरे डेटाबेस में क्या करने का प्रयास करेगा। डिबग सेटिंग के तहत

ALTER DATABASE [$(DatabaseName)] 
     SET ANSI_NULLS ON, 
      ANSI_PADDING ON, 
      ANSI_WARNINGS ON, 
      ARITHABORT ON, 
      CONCAT_NULL_YIELDS_NULL ON, 
      CURSOR_DEFAULT LOCAL, 
      RECOVERY FULL, 
      AUTO_UPDATE_STATISTICS ON 
     WITH ROLLBACK IMMEDIATE; 

    ALTER DATABASE [$(DatabaseName)] 
     SET PAGE_VERIFY NONE 
     WITH ROLLBACK IMMEDIATE; 

    EXECUTE sp_executesql N'ALTER DATABASE [$(DatabaseName)] 
     SET TRUSTWORTHY OFF 
     WITH ROLLBACK IMMEDIATE'; 

मैं डेटाबेस परियोजना कभी अपने डेटाबेस सेटिंग्स को संशोधित नहीं करना चाहते, तो मैं इस अनियंत्रित: मैं प्रकाशित स्क्रिप्ट को जोड़ा गया इन बयानों हो रही है

Deploy database properties check box

इसके अलावा, यहां उन्नत के अंतर्गत प्रकाशित सेटिंग्स:

Advanced publish settings screenshot

परियोजना सेटिंग्स के तहत | डाटाबेस सेटिंग्स मैं सब कुछ मेरे डेटाबेस से मेल किया:

Database settings screenshot Database settings from Management Studio

मैं यह कैसे रोका जा सकता है?

+0

क्या आप नवीनतम एसएसडीटी बिट्स पर हैं? मेरे पास एक ही सेटिंग्स है और मेरे रिलीज स्क्रिप्ट में कोई भी वैकल्पिक डेटा कमांड नहीं है। Http://blogs.msdn.com/b/ssdt/ देखें और शायद कम से कम दिसंबर 2012 या मार्च 2013 पर हो। (जून अभी बाहर आया है, इसलिए वहां सावधानी बरतनी चाहें।) –

+0

मैं जून एसएसडीटी का उपयोग कर रहा हूं। –

+2

इसका उपयोग करना। यदि मेरे डीबी विकल्प समान हैं, तो वे सिर्फ स्क्रिप्ट नहीं प्राप्त करते हैं। प्रकाशित XML कोड में, मेरे पास " गलत" है, हालांकि मेरा "स्थानीय" प्रकाशन वहां "True" का उपयोग कर रहा है। एक बार विकल्प समान होने के बाद, हम उन लोगों के लिए अच्छे हैं। यदि आप इसे खोलने के लिए प्रकाशित फ़ाइल पर राइट-क्लिक करते हैं तो आप एक्सएमएल देख सकते हैं। सेटिंग्स को देखने और मैन्युअल रूप से tweak देखने के लिए शायद उस एक्सएमएल के अंदर जांचें? शायद इसे एक बार चलाने दें और देखें कि क्या यह भविष्य के रनों पर चला जाता है? –

उत्तर

3

मेरा समाधान सावधानी से सत्यापित करना था कि सभी सेटिंग्स एक परिपूर्ण मैच थीं। मैंने माना था कि चूंकि मैंने कुछ सेटिंग्स को वही सेट किया था, क्योंकि ये सेटिंग्स अब जेनरेट की गई परिवर्तन स्क्रिप्ट में नहीं रहेंगी। हालांकि यह मामला नहीं है। यदि कोई डेटाबेस सेटिंग अंतर है, तो ऐसा लगता है कि गलत मान के साथ ऐसा ही शामिल है।

सेटिंग्स जो मैं चूक गया था डेटाबेस सेटिंग्स संवाद (परिचालन और विविध) के दूसरे और तीसरे टैब पर थे।

Operational settings Miscellaneous settings

+0

दिलचस्प ... मैं इसे पुन: उत्पन्न करने की कोशिश करूंगा –

-2

मैंने एसएसडीटी का उपयोग नहीं किया है। हालांकि, जब मैं स्क्रिप्ट उत्पन्न करने के लिए एसएसएमएस का उपयोग करता हूं, तो मैं आमतौर पर उस कोड को हटा देता हूं जिसे मैं निष्पादित नहीं करना चाहता हूं। जब मैं डीबी स्कीमा में परिवर्तन कर रहा हूं, तो मैं इसे स्क्रिप्ट और स्रोत नियंत्रण में चाहता हूं। इस तरह से मेरे इंस्टॉल/माइग्रेशन दोहराने योग्य और टेस्टेबल हैं। सुनिश्चित नहीं है कि यह एसएसडीटी का उपयोग करने का इरादा है, लेकिन यह विचार

+0

मेरा लक्ष्य है कि हमारे TFS बिल्ड सर्वर को डेटाबेस प्रोजेक्ट के हिस्से के रूप में स्रोत नियंत्रण में SQL कोड चेक किए जाने पर स्वचालित रूप से डेटाबेस परिवर्तनों को तैनात करना है। मैं शायद पूर्व-तैनाती स्क्रिप्ट जोड़ सकता हूं जो आपके द्वारा वर्णित किया गया होगा, लेकिन उम्मीद है कि मैं इसे हैक के बिना प्रबंधित कर सकता हूं। –

9

दो चेक बॉक्स है कि प्रकाशित प्रोफ़ाइल बचत करने से पहले अनचेक होने के लिए कर रहे हैं। सुनिश्चित करें कि आप गुण परियोजना के लिए जाना -> डीबग और सही का निशान हटाएँ "डेटाबेस गुण तैनात"

Click here to view screenshot

तो सही अपने डेटाबेस परियोजना पर क्लिक करें -> सही का निशान हटाएँ "डेटाबेस गुण तैनात करने के लिए" उसके बाद प्रकाशित "उन्नत"

Click here to view screenshot

ठीक क्लिक करें, प्रोफ़ाइल इस रूप में सहेजें क्लिक करें, और अब से, हर बार जब आप का उपयोग कर अपने उत्पन्न स्क्रिप्ट को तैनात प्रकाशित प्रोफ़ाइल आप अभी बनाया है, केवल संशोधनों आप चाहते हैं।

मैं 20-अप्रैल-2016 तक नवीनतम एसएसडीटी के साथ वीएस 2013 का उपयोग कर रहा हूं।

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