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

एसक्यूएल सर्वर (टी-एसक्यूएल उदाहरण) में सभी अक्षम जांच बाधाओं को कैसे वापस करें

यदि आपको सभी CHECK . की सूची वापस करने की आवश्यकता है SQL सर्वर डेटाबेस में अक्षम की गई बाधाओं के लिए, आप नीचे T-SQL कोड चला सकते हैं।

उदाहरण 1 - केवल वापसी अक्षम चेक प्रतिबंध

यह क्वेरी केवल अक्षम CHECK returns लौटाती है वर्तमान डेटाबेस में बाधाएं। यह बाधा नाम, उस तालिका का नाम, जिस पर इसे लागू किया गया है, और बाधा की परिभाषा देता है।

SELECT 
  OBJECT_NAME(parent_object_id) AS 'Table',
  name AS 'Constraint',
  definition
FROM sys.check_constraints
WHERE is_disabled = 1;

परिणाम:

+----------------+-----------------+-------------------------------+
| Table          | Constraint      | definition                    |
|----------------+-----------------+-------------------------------|
| ConstraintTest | chkValidEndDate | ([EndDate]>=[StartDate])      |
| Occupation     | chkJobTitle     | ([JobTitle]<>'Digital Nomad') |
+----------------+-----------------+-------------------------------+

यह sys.check_constraints . से पूछताछ करता है सिस्टम दृश्य। हम जानते हैं कि यह केवल अक्षम बाधाओं को लौटाता है क्योंकि WHERE क्लॉज केवल उन पंक्तियों को निर्दिष्ट करता है जिनमें is_disabled . है कॉलम 1 . पर सेट है ।

अगर आप सभी सक्षम को वापस करना चाहते हैं CHECK बाधाओं, बस 1 को बदलें करने के लिए 0

उदाहरण 2 - सभी जांच बाधाओं को वापस करें

निम्न क्वेरी सभी लौटाती है CHECK वर्तमान डेटाबेस के लिए बाधाएं (न केवल अक्षम वाले)। इस बार मैं is_disabled लौटाता हूं कॉलम यह प्रदर्शित करने के लिए कि पिछली क्वेरी को इसका मूल्य कहां से मिला:

SELECT 
  OBJECT_NAME(parent_object_id) AS 'Table',
  name AS 'Constraint',
  is_disabled, 
  is_not_trusted
FROM sys.check_constraints;

परिणाम:

+----------------+-----------------+---------------+------------------+
| Table          | Constraint      | is_disabled   | is_not_trusted   |
|----------------+-----------------+---------------+------------------|
| ConstraintTest | chkPrice        | 0             | 0                |
| ConstraintTest | chkValidEndDate | 1             | 1                |
| ConstraintTest | chkTeamSize     | 0             | 0                |
| Occupation     | chkJobTitle     | 1             | 1                |
+----------------+-----------------+---------------+------------------+

मैंने is_not_trusted . भी शामिल किया है इस क्वेरी में कॉलम। इस मूल्य के प्रति सचेत रहना समझदारी है, क्योंकि एक बाधा फिर से सक्षम होने के बाद भी अविश्वसनीय रह सकती है। इस फ़्लैग की विस्तृत चर्चा (और उदाहरण) के लिए, SQL सर्वर में CHECK बाधा को सक्षम करते समय NOCHECK के साथ आपको क्या पता होना चाहिए देखें।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. चर शीर्षलेख वाली एक्सेल फ़ाइलें आयात करना

  2. वीएस 2010 .net 4.0 में इकाई ढांचे का उपयोग करते समय 'डेटाटाइम 2' त्रुटि

  3. क्या SQL सर्वर में DECIMAL और NUMERIC के बीच कोई अंतर है?

  4. SQL सर्वर (MSSQL DBA) शुरुआती डेटाबेस प्रशासकों के लिए डेटाबेस ट्यूटोरियल

  5. SQL सर्वर में FILE_ID() बनाम FILE_IDEX():क्या अंतर है?