Un disparador es un procedimiento almacenado ejecutado cuando ocurre una acción/evento específico en el servidor. Se pueden asociar varios tipos de desencadenantes con acciones particulares.
Esta publicación tiene como objetivo mostrarle cómo puede deshabilitar un disparador existente en SQL Server. Deshabilitar un disparador puede permitirle realizar temporalmente una acción sin un evento posterior. Esto es muy útil al solucionar o realizar operaciones de mantenimiento en el servidor.
Creando un disparador de prueba
Antes de discutir cómo deshabilitar un disparador existente en el servidor SQL, comencemos definiendo un disparador simple para fines de ilustración.
Comience creando una base de datos:
Drop Base de datos si existe local_db;
Crear base de datos local_db;
usar local_db;
A continuación, defina una tabla como se muestra:
Crear bases de datos de tabla (
ID int no identidad nula (1,1) clave principal,
server_name varchar (50),
server_address varchar (255) no nulo,
compresion_method varchar (100) predeterminado 'ninguno',
size_on_disk float no nulo,
size_compreted flotante,
Total_records int no nulo,
Fecha de init_date
);
A continuación, cree un disparador para deshabilitar el número de filas afectadas cuando se produce una acción de inserción o eliminación.
Crear nostatus de gatillo
En bases de datos
Después de insertar, eliminar
COMO
COMENZAR
Establecer nocount;
FIN;
Consulta de activación de SQL Server Deshabilit
Afortunadamente, SQL Server nos proporciona un método nativo para deshabilitar un disparador, como se muestra en la sintaxis a continuación:
Deshabilitar disparador [schema_name . ] trigger_name [, ... n] | TODO
En object_name | Base de datos | Todo servidor [; ]
Argumentos de consulta
La consulta acepta los siguientes parámetros:
Dependiendo de la configuración de usuario y servidor de destino, la consulta de activación de desactivación requiere un permiso de alter en la tabla o vista.
Ejemplo - Deshabilitar un disparador DML en una tabla
El siguiente ejemplo demuestra cómo deshabilitar el nostatus de activación en la tabla de bases de datos.
Deshabilitar bases de datos de activación.nostatus
bases de datos;
Ejecutar la declaración anterior debe deshabilitar el disparador con el nombre especificado. Esto asegura que el gatillo no se dispare en las acciones de insertar o eliminar.
Ejemplo 2: desactivar el activador usando SSMS
También puede deshabilitar un desencadenante utilizando el estudio de administración de SQL Server. Abra el explorador de objetos. Localice la base de datos de destino -> Tabla de destino - desencadenantes.
Haga clic con el botón derecho y seleccione Deshabilitar.
Una vez exitoso, debería ver un cuadro de diálogo de éxito.
Ejemplo 3 - SQL Server Deshabilita todos los desencadenantes en una tabla/vista
También puede deshabilitar todos los desencadenantes en una tabla o vista dada utilizando el comando proporcionado en el fragmento a continuación:
deshabilitar el activador todo en
local_db.bases de datos;
La consulta anterior deshabilitará todos los desencadenantes en la tabla de bases de datos.
Ejemplo 4 - SQL Server Deshabilita todos los desencadenantes en una base de datos
Supongamos que desea realizar una desactivación de activación en toda la base de datos. Puede ejecutar una consulta según lo dispuesto a continuación:
deshabilitar el activador todo en
base de datos;
Terminación
En esta publicación, discutimos cómo usar los comandos de activación de desactivación en SQL Server para deshabilitar los desencadenantes en varios niveles de objetos.
Gracias por leer!!