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

कैसे जांचें कि एसक्यूएल सर्वर में कोई बाधा मौजूद है या नहीं?

इसे आजमाएं:

SELECT
    * 
    FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS 
    WHERE CONSTRAINT_NAME ='FK_ChannelPlayerSkins_Channels'

-- संपादित करें--

जब मैंने मूल रूप से इस प्रश्न का उत्तर दिया, तो मैं "विदेशी कुंजी" सोच रहा था क्योंकि मूल प्रश्न ने "FK_ChannelPlayerSkins_Channels" खोजने के बारे में पूछा था। तब से कई लोगों ने अन्य "बाधाओं" को खोजने पर टिप्पणी की है, इसके लिए यहां कुछ अन्य प्रश्न हैं:

--Returns one row for each CHECK, UNIQUE, PRIMARY KEY, and/or FOREIGN KEY
SELECT * 
    FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
    WHERE CONSTRAINT_NAME='XYZ'  


--Returns one row for each FOREIGN KEY constrain
SELECT * 
    FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS 
    WHERE CONSTRAINT_NAME='XYZ'


--Returns one row for each CHECK constraint 
SELECT * 
    FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS
    WHERE CONSTRAINT_NAME='XYZ'

यहाँ एक वैकल्पिक तरीका है

--Returns 1 row for each CHECK, UNIQUE, PRIMARY KEY, FOREIGN KEY, and/or DEFAULT
SELECT 
    OBJECT_NAME(OBJECT_ID) AS NameofConstraint
        ,SCHEMA_NAME(schema_id) AS SchemaName
        ,OBJECT_NAME(parent_object_id) AS TableName
        ,type_desc AS ConstraintType
    FROM sys.objects
    WHERE type_desc LIKE '%CONSTRAINT'
        AND OBJECT_NAME(OBJECT_ID)='XYZ'

यदि आपको और अधिक बाधा जानकारी की आवश्यकता है, तो सिस्टम संग्रहीत कार्यविधि के अंदर देखें master.sys.sp_helpconstraint यह देखने के लिए कि कुछ जानकारी कैसे प्राप्त करें। SQL सर्वर प्रबंधन स्टूडियो का उपयोग करके स्रोत कोड देखने के लिए "ऑब्जेक्ट एक्सप्लोरर" में जाएं। वहां से आप "मास्टर" डेटाबेस का विस्तार करते हैं, फिर "प्रोग्रामेबिलिटी" का विस्तार करते हैं, फिर "संग्रहीत प्रक्रियाएं", फिर "सिस्टम संग्रहीत प्रक्रियाएं"। फिर आप "sys.sp_helpconstraint" ढूंढ सकते हैं और उस पर राइट क्लिक करके "संशोधित करें" का चयन कर सकते हैं। बस इस बात का ध्यान रखें कि इसमें कोई भी बदलाव सेव न करें। साथ ही, आप इस सिस्टम संग्रहीत कार्यविधि को किसी भी टेबल पर EXEC sp_helpconstraint YourTableNameHere का उपयोग करके उपयोग कर सकते हैं ।



  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 सर्वर कनेक्शन कैसे देख सकता हूँ?

  2. SQL सर्वर क्वेरी में NULL को 0 से बदलना

  3. टी-एसक्यूएल में इंडेक्सऑफ फ़ंक्शन

  4. SQL सर्वर डेटाबेस में UTF-8 Collation का उपयोग कैसे करें?

  5. परिणामों को विभाजित करने के लिए SQL में दशमलव मान