2010-10-01 15 views
5

Hace un par de días, yo estaba practicando y escribí algunos factores desencadenantes como los siguientes:¿Dónde se activa un servidor para guardar en SQL Server?

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 

pero el problema es que no sé donde se ha salvado y ¿Cómo puedo eliminar o editar los.

Gracias

Respuesta

9

servidor de activación

Se los puede ver aquí

select * from sys.server_triggers 

Para excluir a utilizar esta sintaxis

drop trigger trg_preventionDrop on all server 

En Management Studio que están bajo el " Objetos del servidor "->" Disparadores " nodo

base de datos de activación

Se los puede ver aquí

select * from yourdb.sys.triggers 

Para excluir a utilizar esta sintaxis

drop trigger trg_preventDeleteTable on database 

En Management Studio que están bajo las "Bases de datos" -> " yourdb "->" Programabilidad "-> nodo" Disparadores de base de datos "

+0

¡Muchas gracias! – Mostafa

+0

El cuerpo de los desencadenantes normales se almacena en sys.sql_modules. ¿Dónde se almacenan los cuerpos de los disparadores del servidor? –

+0

@zespri 'sys.server_sql_modules' –

2

disparador en una tabla particular reside en "DataBase" -> "YourDb" -> "YourTable" -> carpeta "Trigger" en Management Studio

también se puede encontrar el desencadenante en una tabla particular mediante la ejecución de la sql siguiente :
EXEC sp_helptrigger nombredellamadas

Cuestiones relacionadas