2010-10-01 14 views
5

कुछेक दिन के पहले, मैंने अभ्यास किया गया था और मैं इन जैसे कुछ चलाता लिखा है:SQL सर्वर में सर्वर ट्रिगर को सहेजता है?

create trigger trg_preventionDrop 
on all server 
for drop_database 
as 
print 'Can not Drop Database' 
rollback tran 

go 

create trigger trg_preventDeleteTable 
on database 
for drop_table 
as 
print 'you can not delete any table' 
rollback tran 

लेकिन समस्या यह है जहाँ यह बचाया है मैं नहीं जानता है और कैसे नष्ट या उन संपादित कर सकते हैं।

धन्यवाद

उत्तर

9

सर्वर उत्प्रेरक

आप उन्हें यहाँ देख सकते हैं

select * from sys.server_triggers 

उपयोग इस वाक्य

drop trigger trg_preventionDrop on all server 

ड्रॉप करने के लिए प्रबंधन स्टूडियो में वे किया जा रहा है " सर्वर ऑब्जेक्ट्स "->" ट्रिगर्स " नोड

डाटाबेस उत्प्रेरक

आप उन्हें यहाँ देख सकते हैं

select * from yourdb.sys.triggers 

उपयोग इस वाक्य

drop trigger trg_preventDeleteTable on database 

ड्रॉप करने के लिए प्रबंधन स्टूडियो में वे "डेटाबेस" के तहत कर रहे -> " yourdb "->" प्रोग्राममेबिलिटी "->" डेटाबेस ट्रिगर "नोड

+0

आपको बहुत बहुत धन्यवाद! – Mostafa

+0

सामान्य ट्रिगर्स का शरीर sys.sql_modules में संग्रहीत किया जाता है। सर्वर ट्रिगर्स के निकायों को कहाँ संग्रहित किया जाता है? –

+0

@zespri 'sys.server_sql_modules' –

2

किसी विशेष तालिका पर ट्रिगर "डेटाबेस" -> "यूआरडीबी" -> "योरटेबल" -> "स्टूगर" फ़ोल्डर प्रबंधन स्टूडियो

भी निम्न एसक्यूएल निष्पादन द्वारा किसी विशेष तालिका पर ट्रिगर पा सकता है :
EXEC sp_helptrigger yourtablename