यहां कुछ T-SQL कोड दिए गए हैं जिनका उपयोग आप SQL सर्वर डेटाबेस में सभी CHECK और विदेशी कुंजी बाधाओं की सूची प्राप्त करने के लिए कर सकते हैं।
निम्नलिखित उदाहरण में, मैं एक UNION
करता हूं दो डेटाबेस प्रश्नों पर। एक प्रश्न sys.foreign_keys
अक्षम विदेशी कुंजियों और अन्य प्रश्नों के लिए sys.check_constraints
अक्षम CHECK बाधाओं के लिए।
SELECT SCHEMA_NAME(schema_id) AS [Schema], OBJECT_NAME(parent_object_id) AS 'Table', name AS 'Constraint', type_desc, is_disabled, is_not_trusted FROM sys.foreign_keys WHERE is_disabled = 1 UNION SELECT SCHEMA_NAME(schema_id), OBJECT_NAME(parent_object_id), name, type_desc, is_disabled, is_not_trusted FROM sys.check_constraints WHERE is_disabled = 1;
परिणाम:
+----------+------------------+--------------------+------------------------+---------------+------------------+ | Schema | Table | Constraint | type_desc | is_disabled | is_not_trusted | |----------+------------------+--------------------+------------------------+---------------+------------------| | dbo | BandMember | FK_BandMember_Band | FOREIGN_KEY_CONSTRAINT | 1 | 1 | | dbo | City | FK_City_Country | FOREIGN_KEY_CONSTRAINT | 1 | 1 | | dbo | MembershipPeriod | chkValidEndDate | CHECK_CONSTRAINT | 1 | 1 | +----------+------------------+--------------------+------------------------+---------------+------------------+
ये वे परिणाम हैं जो मुझे अपने विकास परिवेश में अपने एक परीक्षण डेटाबेस पर मिलते हैं। यह सभी अक्षम विदेशी कुंजी देता है और वर्तमान डेटाबेस में बाधाओं की जांच करता है। दूसरे डेटाबेस की जाँच करने के लिए, बस उस डेटाबेस पर जाएँ और उसे वहाँ चलाएँ।
ध्यान दें कि जब आप किसी बाधा को अक्षम करते हैं, तो is_not_trusted
ध्वज 1
. पर सेट है , और बाधा को अविश्वसनीय माना जाता है। जब आप बाधा को फिर से सक्षम करते हैं, तो आपके पास इसे विश्वसनीय पर रीसेट करने या इसे अविश्वसनीय के रूप में छोड़ने का विकल्प होता है। एक बाधा में विश्वास बहाल करने के बारे में अधिक जानकारी के लिए, SQL सर्वर में एक विदेशी कुंजी बाधा में विश्वास को कैसे पुनर्स्थापित करें और SQL सर्वर में एक जांच बाधा को सक्षम करते समय आपको NOCHECK के बारे में क्या पता होना चाहिए देखें।