Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

पहचान कॉलम को इंट से बिगिंट में बदलें

ठीक है, ऐसा करने का यह एक त्वरित'आसान तरीका नहीं होगा, वास्तव में....

मेरा दृष्टिकोण यह होगा:

  1. समान संरचना वाली एक नई तालिका बनाएं - ID . को छोड़कर कॉलम BIGINT IDENTITY . है INT IDENTITY . के बजाय

    ---- [ यहां अपने सर्वर को अनन्य एकल-उपयोगकर्ता मोड में रखें; उपयोगकर्ता इस बिंदु से ]----

    . को आपके सर्वर का उपयोग नहीं कर सकता
  2. अपनी तालिका को संदर्भित करने वाली सभी विदेशी कुंजी बाधाओं को ढूंढें और अक्षम करें

  3. SET IDENTITY_INSERT (your new table) ON

  4. अपनी पुरानी तालिका से पंक्तियों को नई तालिका में डालें

  5. SET IDENTITY_INSERT (your new table) OFF

  6. अपनी पुरानी तालिका हटाएं

  7. अपनी नई तालिका का नाम बदलकर पुराने तालिका नाम कर दें

  8. BIGINT . का उपयोग करने के लिए आपकी तालिका के लिए FK संदर्भ वाली सभी तालिका को अपडेट करें INT . के बजाय (यह एक साधारण ALTER TABLE ..... ALTER COLUMN FKID BIGINT के साथ करने योग्य होना चाहिए। )

  9. सभी विदेशी कुंजी संबंध फिर से बनाएं

  10. अब आप अपने सर्वर को फिर से सामान्य बहु-उपयोगकर्ता उपयोग पर वापस कर सकते हैं



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कैसे जांचें कि SQL डेटाबेस दूषित है या नहीं - MDF फ़ाइल को सुधारने का समाधान

  2. कैसे जांचें कि डेटटाइम ऑब्जेक्ट असाइन नहीं किया गया था या नहीं?

  3. T-SQL का उपयोग करके SQL सर्वर एजेंट जॉब कैसे चलाएं

  4. क्या मैं एक कॉलम में एकाधिक पंक्तियों को अल्पविराम से परिसीमित कर सकता हूँ?

  5. BitConverter के साथ SQL सर्वर varbinary bigint.ToInt64 मान भिन्न हैं