Eliminare e disabilitare trigger DML
Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure
Questo argomento illustra come eliminare o disabilitare un trigger DML in SQL Server usando SQL Server Management Studio o Transact-SQL.
Contenuto dell'articolo
Prima di iniziare:
Per eliminare o disabilitare un trigger DML tramite:
Prima di iniziare
Consigli
Un trigger eliminato viene rimosso dal database corrente, ma la tabella e i dati su cui si basa il trigger non subiscono alcun impatto. L'eliminazione di una tabella comporta automaticamente l'eliminazione di tutti i trigger della tabella.
Per impostazione predefinita, un trigger viene abilitato quando viene creato.
La disabilitazione di un trigger non ne comporta l'eliminazione. Il trigger continua a esistere come oggetto nel database corrente Il trigger, tuttavia, non viene attivato quando viene eseguita qualsiasi istruzione INSERT, UPDATE o DELETE in cui è stato programmato. I trigger disabilitati possono essere riabilitati. L'abilitazione di un trigger non comporta la sua creazione ex-novo. Il trigger viene attivato allo stesso modo in cui è stato creato in origine.
Sicurezza
Autorizzazioni
Per l'eliminazione di un trigger DML è richiesta l'autorizzazione ALTER per la tabella o la vista in cui è definito il trigger.
Per disabilitare o abilitare un trigger DML, è necessario disporre almeno dell'autorizzazione ALTER per la tabella o la vista per cui il trigger è stato creato.
Utilizzo di SQL Server Management Studio
Per eliminare un trigger DML
In Esplora oggetti connettersi a un'istanza del motore di database ed espanderla.
Espandere il database desiderato, espandere Tabelle, quindi espandere la tabella che contiene il trigger da eliminare.
Espandere Trigger, fare clic con il pulsante destro del mouse sul trigger da eliminare, quindi fare clic su Elimina.
Nella finestra di dialogo Elimina oggetto , verificare il trigger da eliminare, quindi fare clic su OK.
Per abilitare e disabilitare un trigger DML
In Esplora oggetti connettersi a un'istanza del motore di database ed espanderla.
Espandere il database desiderato, espandere Tabelle, quindi espandere la tabella che contiene il trigger da disabilitare.
Espandere Trigger, fare clic con il pulsante destro del mouse sul trigger da disabilitare, quindi fare clic su Disabilita.
Per abilitare il trigger, fare clic su Abilita.
Utilizzo di Transact-SQL
Per eliminare un trigger DML
Connettersi al motore di database di .
Dalla barra Standard fare clic su Nuova query.
Copiare e incollare gli esempi seguenti nella finestra delle query. Per creare il trigger , eseguire l'istruzione CREATE TRIGGER
Sales.bonus_reminder
. Per eliminare il trigger, eseguire l'istruzione DROP TRIGGER .
--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
Per abilitare e disabilitare un trigger DML
Connettersi al motore di database di .
Dalla barra Standard fare clic su Nuova query.
Copiare e incollare gli esempi seguenti nella finestra delle query. Per creare il trigger , eseguire l'istruzione CREATE TRIGGER
Sales.bonus_reminder
. Per disabilitare e abilitare il trigger, eseguire le istruzioni DISABLE TRIGGER e ENABLE TRIGGER , rispettivamente.
--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
Vedi anche
ALTER TRIGGER (Transact-SQL)
CREATE TRIGGER (Transact-SQL)
DROP TRIGGER (Transact-SQL)
ENABLE TRIGGER (Transact-SQL)
DISABLE TRIGGER (Transact-SQL)
EVENTDATA (Transact-SQL)
Recuperare informazioni sui trigger DML
sp_help (Transact-SQL)
sp_helptrigger (Transact-SQL)
sys.triggers (Transact-SQL)
sys.trigger_events (Transact-SQL)
sys.sql_modules (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)