A couple of days ago , I was practicing and I wrote some triggers like these :
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
But the problem is I don't know where it has saved and How can I delete or edit those.
Thank you
Server-scoped DDL triggers appear in the SQL Server Management Studio Object Explorer in the Triggers folder. This folder is located under the Server Objects folder. Database-scoped DDL triggers appear in the Database Triggers folder.
Using SQL Server Management Studio Expand the database that you want, expand Tables, and then expand the table that contains the trigger for which you want to view the definition. Expand Triggers, right-click the trigger you want, and then click Modify. The definition of the DML trigger appears in the query window.
Notice that triggers are stored in the database separately from their associated tables. Triggers can be defined only on tables, not on views. However, triggers on the base table(s) of a view are fired if an INSERT, UPDATE, or DELETE statement is issued against a view.
The code that is generated is "CREATE TRIGGER" code... when you put your trigger inside, you need to execute (F5) this entire query, which saves it to the database. Then click on the 'Triggers' folder for the table and hit F5 again to refresh, and you'll see your trigger. Save this answer.
Server Trigger
You can see them here
select * from sys.server_triggers
To drop use this syntax
drop trigger trg_preventionDrop on all server
In Management Studio they are under the "Server Objects" -> "Triggers" node
Database Trigger
You can see them here
select * from yourdb.sys.triggers
To drop use this syntax
drop trigger trg_preventDeleteTable on database
In Management Studio they are under the "Databases" -> "yourdb" -> "Programmability" -> "Database Triggers" node
trigger on a particular table resides in "DataBase" -> "YourDb" -> "YourTable" -> "Trigger" folder in Management Studio
also one can find the trigger on a particular table by execution the following sql:
EXEC sp_helptrigger yourtablename
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With