Disparador de desactivación del servidor SQL

Disparador de desactivación del servidor SQL

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:

    1. esquema_name: esto define el nombre del esquema en el que reside el gatillo. El parámetro shcema_name no es compatible con los desencadenantes del lenguaje de definición de datos o los desencadenantes de inicio de sesión.
    2. Trigger_name: el nombre del desencadenante que desea deshabilitar.
    3. Todo: este parámetro permite que todos los desencadenantes definidos en la cláusula ON se desactiven de inmediato.
    4. Object_name: el nombre de la tabla o vista en la que reside el disparador.
    5. Base de datos: especifica el alcance del disparador DDL.

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!!