sql >> Base de Datos >  >> RDS >> Sqlserver

Devolver una lista de todos los activadores de servidor en SQL Server

En SQL Server, puede usar sys.server_triggers vista de catálogo para devolver una lista de disparadores del servidor.

Más específicamente, esta vista contiene el conjunto de todos los disparadores DDL a nivel de servidor con object_type de TR o TA.

Para los activadores de CLR, el ensamblado debe cargarse en el master base de datos.

Ejemplo

Aquí hay un ejemplo de consulta de sys.server_triggers ver.

SELECT * FROM sys.server_triggers;

Resultado (usando salida vertical):

-[ RECORD 1 ]-------------------------
name              | trg_limit_concurrent_sessions
object_id         | 759673754
parent_class      | 100
parent_class_desc | SERVER
parent_id         | 0
type              | TR
type_desc         | SQL_TRIGGER
create_date       | 2020-08-19 23:27:39.153
modify_date       | 2020-08-19 23:27:39.153
is_ms_shipped     | 0
is_disabled       | 0
(1 row affected)

En mi caso, solo tengo un activador a nivel de servidor, que resulta ser un activador de inicio de sesión.

Tenga en cuenta que los nombres de desencadenadores DDL están definidos por la entidad principal y, por lo tanto, no están disponibles en sys.objects vista.