2011-10-10 23 views
17

मेरे पास एक SQL डेटाबेस तालिका है, जिसमें 35 मौजूदा रिकॉर्ड हैं। इस तालिका में फ़ील्ड में से एक को Name, nvarchar(100), not null"मौजूदा परिवर्तन को बदलने के लिए मौजूदा कॉलम को बदलने के लिए परिवर्तनों की अनुमति नहीं है"

हालांकि, हालिया परिवर्तन के कारण, मुझे इस कॉलम को निरर्थक बनाने की आवश्यकता है।

जब मैं स्तंभ एसक्यूएल सर्वर प्रबंधन स्टूडियो में nulls अनुमति देने के लिए बदलने के लिए, और अपने परिवर्तनों को बचाने के लिए जाओ, मैं निम्नलिखित त्रुटि मिलती है:

Saving changes is not permitted. The changes you have made require the following tables to be dropped and re-created

मैं कैसे यह स्वचालित रूप से हटा दिया गया और फिर से करने की अनुमति दे सकते हैं बनाया था?

उत्तर

33

मुझे समाधान मिला है। "उपकरण> विकल्प> डिजाइनर> तालिका और डेटाबेस डिजाइनर" यहां जाएं:

enter image description here

+1

एकमात्र चीज जो लोगों के समय की बर्बादी है, वह किसी ऐसे उत्तर को चिह्नित कर रही है जो वास्तव में किसी भी समस्या से किसी की सहायता नहीं करती है। ;-) –

+0

@ ओरेन हाहा, मेरा अनुमान है कि आपको एक ही समस्या नहीं मिली है, अन्यथा मैं इसे उत्तर के रूप में चिह्नित नहीं करूँगा। शायद एक अलग SQL सर्वर संस्करण? .. – Curt

+0

एमएस का कहना है कि तालिका के पुन: निर्माण के परिणामस्वरूप डेटा हानि हो सकती है और इस विकल्प को बदलने के बारे में चेतावनी दी जा सकती है। – Maxence

6

यह SSMS में एक सेटिंग है।

उपकरण - विकल्प - डिजाइनर - रोकें परिवर्तनों को सहेजे कि तालिका फिर से निर्माण

3

मैं एक ही समस्या थी आवश्यकता होती है; एक कॉलम के लिए नल को अनुमति देना चाहते हैं जो पहले नहीं था। इस विकल्प को बंद न करने के लिए एमएस की चेतावनी पर विचार करें: http://support.microsoft.com/kb/956176

और समस्या को हल करने के लिए ट्रांजैक्ट-एसक्यूएल का उपयोग करने की उनकी सिफारिश, उदा। तालिका बदलें MyTable कॉलम MyDate7 डेटाटाइम NULL

यह मेरे लिए हल हो गया।

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