जवाबों:
यदि आप इसे नीचे के रूप में एक टी-एसक्यूएल स्टेटमेंट के माध्यम से कर रहे हैं, तो कोई तालिका ड्रॉप नहीं होगी और आप इसे सुरक्षित रूप से उत्पादन वातावरण में कर सकते हैं:
alter table <table> alter column <column> nvarchar(biggernumber) [not] null
यदि आप इसे SSMS डिज़ाइन टेबल GUI के माध्यम से करते हैं, तो यह इस बात पर निर्भर करेगा कि परिवर्तन को लागू करने के लिए यह किस स्क्रिप्ट का उपयोग करता है। कभी-कभी यह एक अस्थायी तालिका में डेटा सम्मिलित करेगा, मूल तालिका को गिराएगा, उस तालिका का एक नया संस्करण बनाएगा, और इसे नए में वापस सम्मिलित करेगा। यह पता लगाने का एक आसान तरीका है कि "स्क्रिप्ट को उत्पन्न करें" बटन पर क्लिक करें और निष्पादित करने की योजना टी-एसक्यूएल को देखें।
कॉलम की कॉलम चौड़ाई बढ़ाने से nvarchar
टेबल ड्रॉप की आवश्यकता नहीं होगी। न ही कोई ALTER TABLE
ऑपरेशन। तालिका या स्तंभ गुणों को बदलते समय प्रतिबंध के बारे में जानकारी के लिए आप ALTER TABLE स्टेटमेंट पर पढ़ सकते हैं ।
मैंने नीचे दिए गए प्रलेखन से सबसे अधिक प्रासंगिक भागों की प्रतिलिपि बनाई:
एक स्तंभ का आकार बदलना
आप स्तंभ रंग खण्ड में स्तंभ डेटा प्रकार के लिए एक नए आकार को निर्दिष्ट करके किसी स्तंभ की लंबाई, सटीकता या पैमाने को बदल सकते हैं। यदि डेटा स्तंभ में मौजूद है, तो नया आकार डेटा के अधिकतम आकार से छोटा नहीं हो सकता है। इसके अलावा, स्तंभ को एक सूचकांक में परिभाषित नहीं किया जा सकता है, जब तक कि स्तंभ एक varchar, nvarchar, या varbinary डेटा प्रकार नहीं है और सूचकांक एक PRIMARY KEY बाधा का परिणाम नहीं है। उदाहरण देखें पी।
ताले और अन्य टेबल
ALTER TABLE में निर्दिष्ट परिवर्तन तुरंत लागू हो जाते हैं। यदि परिवर्तनों को तालिका में पंक्तियों के संशोधनों की आवश्यकता होती है, तो ALTER TABLE पंक्तियों को अपडेट करती है। अन्य तालिका में तालिका के लिए एक स्कीमा संशोधित लॉक प्राप्त होता है जो यह सुनिश्चित करने के लिए होता है कि परिवर्तन के दौरान तालिका के लिए कोई अन्य कनेक्शन संदर्भ मेटाडेटा भी न हो, सिवाय ऑनलाइन इंडेक्स ऑपरेशंस के जिन्हें अंत में बहुत ही कम SCH-M लॉक की आवश्यकता होती है। ALTER TABLE… SWITCH ऑपरेशन में, लॉक को स्रोत और लक्ष्य तालिकाओं दोनों पर अधिग्रहित किया जाता है। तालिका में किए गए संशोधन लॉग और पूरी तरह से पुनर्प्राप्त करने योग्य हैं। परिवर्तन जो बहुत बड़ी तालिकाओं में सभी पंक्तियों को प्रभावित करते हैं, जैसे कि स्तंभ को छोड़ना या डिफ़ॉल्ट रूप से NOT NULL कॉलम जोड़ना, कई लॉग रिकॉर्ड को पूरा करने और उत्पन्न करने में लंबा समय ले सकता है। किसी भी INSERT, UPDATE, की तरह ही सावधानीपूर्वक इन कथनों को निष्पादित किया जाना चाहिए।