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

बाधाओं को अनदेखा करते हुए SQL सर्वर तालिकाओं की सूची कैसे छोड़ें?

यह इस बात पर निर्भर करता है कि आप टेबल को कैसे छोड़ना चाहते हैं। यदि तालिकाओं की सूची को आपके DB के अंतर्गत लगभग 20% तालिकाओं के कवर को गिराने की आवश्यकता है।

फिर मैं अपनी स्क्रिप्ट के तहत उस डीबी में सभी बाधाओं को अक्षम कर दूंगा और तालिकाओं को छोड़ दूंगा और उसी स्क्रिप्ट के तहत बाधाओं को सक्षम कर दूंगा।

--To Disable a Constraint at DB level

EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'

--Write the code to DROP tables

DROP TABLE TABLENAME

DROP TABLE TABLENAME

DROP TABLE TABLENAME

--To Enable a Constraint at DB level

EXEC sp_MSForEachTable 'ALTER TABLE ? CHECK CONSTRAINT ALL'

अंत में अपनी बाधाओं की स्थिति की जांच करने के लिए इस क्वेरी को सक्रिय करें।

--Checks the Status of Constraints

SELECT (CASE 
    WHEN OBJECTPROPERTY(CONSTID, 'CNSTISDISABLED') = 0 THEN 'ENABLED'
    ELSE 'DISABLED'
    END) AS STATUS,
    OBJECT_NAME(CONSTID) AS CONSTRAINT_NAME,
    OBJECT_NAME(FKEYID) AS TABLE_NAME,
    COL_NAME(FKEYID, FKEY) AS COLUMN_NAME,
    OBJECT_NAME(RKEYID) AS REFERENCED_TABLE_NAME,
    COL_NAME(RKEYID, RKEY) AS REFERENCED_COLUMN_NAME
FROM SYSFOREIGNKEYS
ORDER BY TABLE_NAME, CONSTRAINT_NAME,REFERENCED_TABLE_NAME, KEYNO

यदि आप डेटाबेस स्तर पर बाधाओं को अक्षम नहीं करना चाहते हैं तो उन तालिकाओं की एक सूची बनाएं जिन्हें आप छोड़ना चाहते हैं।

Step1 :थोस टेबल से जुड़ी बाधाओं की जाँच करें

SELECT * 
FROM sys.foreign_keys
WHERE referenced_object_id = object_id('dbo.Tablename')

Step2 :इन तालिकाओं से जुड़ी बाधाओं को अक्षम करें।

ALTER TABLE MyTable NOCHECK CONSTRAINT MyConstraint

Step3 :टेबल ड्रॉप करें

DROP TABLE TABLENAME


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. CSV फ़ाइल आयात करें त्रुटि:स्तंभ मान जिसमें स्तंभ परिसीमक शामिल है

  2. दो दिनों के बीच सप्ताहों और आंशिक सप्ताहों की संख्या गलत गणना की गई

  3. NULL मानों को बाहर रखा गया है। क्यों?

  4. SQL सर्वर में एक पहचान कॉलम में मान कैसे सम्मिलित करें

  5. SQL सर्वर ODBC ड्राइवर त्रुटियाँ नहीं बढ़ा रहा है