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

Cómo descartar o eliminar todos los disparadores de una base de datos en SQL Server

En algún momento tenemos el requisito de eliminar/descartar todos los activadores de una base de datos de SQL Server. El siguiente código se puede usar para colocar todos los disparadores en todas las tablas que ha creado en una base de datos de SQL Server. Antes de continuar y ejecutar este script, asegúrese de haber elegido la base de datos y el servidor correctos, ya que eliminará todos los activadores de la base de datos de SQL Server elegida.



USE [ Base de datos]
GO
DECLARE @TriggerName AS VARCHAR(500)
-- Soltar o eliminar todos los disparadores en una base de datos en SQL Server
DECLARAR DropTrigger CURSOR PARA
SELECCIONAR TRG .name AS TriggerName
FROM sys.triggers TRG
INNER JOIN sys.tables TBL
ON TBL.OBJECT_ID =TRG.parent_id
OPEN DropTrigger
FETCH Next FROM DropTrigger INTO @TriggerName
WHILE @@FETCH_STATUS =0
BEGIN
DECLARE @SQL VARCHAR(MAX)=NULL
SET @SQL='Drop Trigger ' + @TriggerName
IMPRIMIR 'Disparador ::' + @TriggerName
+ ' Soltado con éxito'
EXEC (@SQL)
PRINT @SQL
FETCH Siguiente DESDE DropTrigger INTO @TriggerName
FIN
CERRAR DropTrigger
DESASIGNAR DropTrigger