DML-triggers verwijderen of uitschakelen
van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
In dit onderwerp wordt beschreven hoe u een DML-trigger in SQL Server verwijdert of uitschakelt met behulp van SQL Server Management Studio of Transact-SQL.
In Dit Onderwerp
Voordat u begint:
Een DML-trigger verwijderen of uitschakelen met behulp van:
Voordat u begint
Aanbevelingen
Wanneer een trigger wordt verwijderd, wordt deze verwijderd uit de huidige database. De tabel en de gegevens waarop deze zijn gebaseerd, worden niet beïnvloed. Als u een tabel verwijdert, worden alle triggers in de tabel automatisch verwijderd.
Een trigger is standaard ingeschakeld wanneer deze wordt gemaakt.
Als u een trigger uitschakelt, wordt deze niet verwijderd. De trigger bestaat nog steeds als een object in de huidige database. De trigger wordt echter niet geactiveerd wanneer een INSERT-, UPDATE- of DELETE-instructie waarop deze is geprogrammeerd, wordt uitgevoerd. Triggers die zijn uitgeschakeld, kunnen opnieuw worden geactiveerd. Als u een trigger inschakelt, wordt deze niet opnieuw gemaakt. De trigger wordt op dezelfde manier geactiveerd als toen deze oorspronkelijk werd gemaakt.
Veiligheid
Machtigingen
Als u een DML-trigger wilt verwijderen, is alter-machtiging vereist voor de tabel of weergave waarvoor de trigger is gedefinieerd.
Als u een DML-trigger wilt uitschakelen of inschakelen, moet een gebruiker minimaal alter-machtigingen hebben voor de tabel of weergave waarop de trigger is gemaakt.
SQL Server Management Studio gebruiken
Een DML-trigger verwijderen
Maak in Objectverkennerverbinding met een exemplaar van de Database Engine en vouw vervolgens dat exemplaar uit.
Vouw de gewenste database uit, vouw tabellenuit en vouw vervolgens de tabel uit die de trigger bevat die u wilt verwijderen.
Vouw Triggersuit, klik met de rechtermuisknop op de trigger om te verwijderen en klik vervolgens op Verwijderen.
Controleer in het dialoogvenster Object verwijderen de trigger om te verwijderen en klik vervolgens op OK.
Een DML-trigger uitschakelen en inschakelen
Maak in Objectverkennerverbinding met een exemplaar van de Database Engine en vouw vervolgens dat exemplaar uit.
Vouw de gewenste database uit, vouw Tabellenuit en vouw vervolgens de tabel uit die de trigger bevat die u wilt uitschakelen.
Vouw Triggersuit, klik met de rechtermuisknop op de trigger om deze uit te schakelen en klik vervolgens op Uitschakelen.
Als u de trigger wilt inschakelen, klikt u op inschakelen.
Transact-SQL gebruiken
Een DML-trigger verwijderen
Maak verbinding met de database-engine.
Klik in de standaardbalk op Nieuwe query.
Kopieer en plak de volgende voorbeelden in het queryvenster. Voer de instructie CREATE TRIGGER uit om de
Sales.bonus_reminder
-trigger te maken. Als u de trigger wilt verwijderen, voert u de DROP TRIGGER instructie uit.
--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
Een DML-trigger uitschakelen en inschakelen
Maak verbinding met de database-engine.
Klik in de standaardbalk op Nieuwe query.
Kopieer en plak de volgende voorbeelden in het queryvenster. Voer de instructie CREATE TRIGGER uit om de
Sales.bonus_reminder
-trigger te maken. Als u de trigger wilt uitschakelen en inschakelen, voert u respectievelijk de DISABLE TRIGGER en ENABLE TRIGGER instructies uit.
--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
Zie ook
ALTER TRIGGER (Transact-SQL)
CREATE TRIGGER (Transact-SQL)
DROP TRIGGER (Transact-SQL)
TRIGGER INSCHAKELEN (Transact-SQL)
TRIGGER UITSCHAKELEN (Transact-SQL)
EVENTDATA (Transact-SQL)
Informatie over DML-triggers ophalen
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)