Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
Azure SQL Database
Instancia
administrada de Azure SQLBase de datos SQL en Microsoft Fabric
En este tema se describe cómo eliminar o deshabilitar un desencadenador DML en SQL Server mediante SQL Server Management Studio o Transact-SQL.
En este tema
Antes de empezar:
Para eliminar o deshabilitar un desencadenador DML, usando:
Antes de empezar
Recomendaciones
Cuando el desencadenador se elimina, se quita de la base de datos actual. Ni la tabla ni los datos en los que se basa se ven afectados. Si se elimina una tabla, se eliminarán automáticamente todos los desencadenadores que contenga.
Un desencadenador se habilita de forma predeterminada cuando se crea.
Al deshabilitar un desencadenador no se quita. Sigue siendo un objeto de la base de datos actual. Sin embargo, el disparador no se activa cuando se ejecuta cualquier INSERT, UPDATE, o DELETE instrucción en la que fue programado. Los desencadenadores deshabilitados se pueden volver a habilitar. Si se habilita un desencadenador, éste no se vuelve a crear. El desencadenador se activa de la misma forma que cuando se creó originalmente.
Seguridad
Permisos
Para eliminar un desencadenador DML se necesita el permiso ALTER en la tabla o vista en la que está definido el desencadenador.
Para deshabilitar o habilitar un desencadenador DML, el usuario debe contar como mínimo con el permiso ALTER en la tabla o vista en la que se creó el desencadenador.
Uso de SQL Server Management Studio
Para eliminar un desencadenador DML
En el Explorador de objetos, conéctese a una instancia del Motor de base de datos y, a continuación, expándala.
Expanda la base de datos que desee, expanda Tablasy, a continuación, expanda la tabla que contiene el desencadenador que desea eliminar.
Expanda Desencadenadores, haga clic con el botón derecho en el desencadenador que quiera eliminar y luego haga clic en Eliminar.
En el cuadro de diálogo Eliminar objeto , compruebe que se ha especificado el desencadenador deseado y haga clic en Aceptar.
Para deshabilitar y habilitar un desencadenador DML
En el Explorador de objetos, conéctese a una instancia del Motor de base de datos y, a continuación, expándala.
Expanda la base de datos que desee, expanda Tablasy, a continuación, expanda la tabla que contiene el desencadenador que desea deshabilitar.
Expanda Desencadenadores, haga clic con el botón derecho en el desencadenador que quiera deshabilitar y luego haga clic en Deshabilitar.
Para habilitar el desencadenador, haga clic en Habilitar.
Usar Transact-SQL
Para eliminar un desencadenador DML
Conéctese con el Motor de base de datos.
En la barra Estándar, haga clic en Nueva consulta.
Copie y pegue los ejemplos siguientes en la ventana de consultas. Ejecuta la CREATE TRIGGER sentencia para crear el
Sales.bonus_reminderdisparador. Para eliminar el disparador, ejecuta la DROP TRIGGER sentencia.
--Create the trigger.
USE AdventureWorks2022;
GO
IF OBJECT_ID(N'Sales.bonus_reminder', N'TR') IS NOT NULL
DROP TRIGGER Sales.bonus_reminder;
GO
CREATE TRIGGER Sales.bonus_reminder
ON Sales.SalesPersonQuotaHistory
WITH ENCRYPTION
AFTER INSERT, UPDATE
AS RAISERROR ('Notify Compensation', 16, 10);
GO
--Delete the trigger.
USE AdventureWorks2022;
GO
IF OBJECT_ID ('Sales.bonus_reminder', 'TR') IS NOT NULL
DROP TRIGGER Sales.bonus_reminder;
GO
Para deshabilitar y habilitar un desencadenador DML
Conéctese con el Motor de base de datos.
En la barra Estándar, haga clic en Nueva consulta.
Copie y pegue los ejemplos siguientes en la ventana de consultas. Ejecuta la CREATE TRIGGER sentencia para crear el
Sales.bonus_reminderdisparador. Para desactivar y habilitar el disparador, ejecuta las DISABLE TRIGGER sentencias y ENABLE TRIGGER respectivamente.
--Create the trigger.
USE AdventureWorks2022;
GO
IF OBJECT_ID(N'Sales.bonus_reminder', N'TR') IS NOT NULL
DROP TRIGGER Sales.bonus_reminder;
GO
CREATE TRIGGER Sales.bonus_reminder
ON Sales.SalesPersonQuotaHistory
WITH ENCRYPTION
AFTER INSERT, UPDATE
AS RAISERROR ('Notify Compensation', 16, 10);
GO
--Disable the trigger.
USE AdventureWorks2022;
GO
DISABLE TRIGGER Sales.bonus_reminder ON Sales.SalesPersonQuotaHistory;
GO
--Enable the trigger.
USE AdventureWorks2022;
GO
ENABLE TRIGGER Sales.bonus_reminder ON Sales.SalesPersonQuotaHistory;
GO
Consulte también
ALTER TRIGGER (Transact-SQL)
CREATE TRIGGER (Transact-SQL)
DROP TRIGGER (Transact-SQL)
ENABLE TRIGGER (Transact-SQL)
DISABLE TRIGGER (Transact-SQL)
EVENTDATA (Transact-SQL)
Obtener información acerca de los desencadenadores DML
sp_help (Transact-SQL)
sp_helptrigger (Transact-SQL)
sys.triggers (Transact-SQL)
sys.trigger_events (Transact-SQL)
sys.sql_módulos (Transact-SQL)
sys.assembly_modules (Transact-SQL)
sys.server_triggers (Transact-SQL)
sys.server_trigger_events (Transact-SQL)
sys.server_sql_modules (Transact-SQL)
sys.server_assembly_modules (Transact-SQL)