यदि आप GUI का उपयोग करने के बजाय T-SQL क्वेरी चलाकर अपने SQL सर्वर डेटाबेस को प्रशासित करना पसंद करते हैं, तो वर्तमान डेटाबेस में सभी ट्रिगर्स को सूचीबद्ध करने के लिए यहां दो विकल्प दिए गए हैं।
विकल्प 1 - sys.triggers कैटलॉग व्यू
आप sys.triggers . का उपयोग कर सकते हैं डेटाबेस में सभी ट्रिगर्स की सूची प्राप्त करने के लिए सिस्टम कैटलॉग व्यू।
USE Test; SELECT name, OBJECT_NAME(parent_id) AS parent, type, type_desc FROM sys.triggers;
परिणाम:
+-------------------+----------+--------+-------------+ | name | parent | type | type_desc | |-------------------+----------+--------+-------------| | t1_insert_trigger | t1 | TR | SQL_TRIGGER | | t6ins | t6 | TR | SQL_TRIGGER | +-------------------+----------+--------+-------------+
यह दृश्य एक प्रकार के TR (SQL DML ट्रिगर) या TA (असेंबली (CLR) DML ट्रिगर) के साथ सभी ट्रिगर लौटाता है। यह डीएमएल ट्रिगर नाम और डीडीएल ट्रिगर नाम दोनों देता है (अगले विकल्प के विपरीत, जो केवल डीएमएल ट्रिगर देता है)।
विकल्प 2 - sys.objects कैटलॉग व्यू
आप sys.objects . का भी उपयोग कर सकते हैं ट्रिगर्स की सूची प्राप्त करने के लिए सिस्टम कैटलॉग दृश्य।
USE Test;
SELECT
SCHEMA_NAME(schema_id) AS [schema],
name,
OBJECT_NAME(parent_object_id) AS parent,
type,
type_desc
FROM sys.objects
WHERE type IN ('TR', 'TA');
परिणाम:
+----------+-------------------+----------+--------+-------------+ | schema | name | parent | type | type_desc | |----------+-------------------+----------+--------+-------------| | dbo | t1_insert_trigger | t1 | TR | SQL_TRIGGER | | dbo | t6ins | t6 | TR | SQL_TRIGGER | +----------+-------------------+----------+--------+-------------+
ध्यान दें कि sys.objects केवल डीएमएल ट्रिगर्स को सूचीबद्ध करता है न कि डीडीएल ट्रिगर्स को।
ऐसा इसलिए है क्योंकि sys.objects केवल स्कीमा-स्कोप्ड ऑब्जेक्ट देता है। डीएमएल ट्रिगर नाम स्कीमा-स्कोप्ड हैं लेकिन डीडीएल ट्रिगर नाम मूल इकाई द्वारा स्कोप किए गए हैं। यदि आपको डीडीएल ट्रिगर वापस करने की आवश्यकता है, तो sys.triggers . का उपयोग करें ।