Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
              gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Det här avsnittet beskriver hur du tar bort eller inaktiverar en DML-utlösare i SQL Server med hjälp av SQL Server Management Studio eller Transact-SQL.
i det här avsnittet
Innan du börjar:
Om du vill ta bort eller inaktivera en DML-utlösare med hjälp av:
Innan du börjar
Rekommendationer
När en utlösare tas bort tas den bort från den aktuella databasen. Tabellen och de data som den baseras på påverkas inte. Om du tar bort en tabell tas alla utlösare i tabellen bort automatiskt.
En utlösare aktiveras som standard när den skapas.
Att inaktivera en utlösare tar inte bort den. Utlösaren finns fortfarande som ett objekt i den aktuella databasen. Utlösaren utlöses dock inte när någon INSERT-, UPDATE- eller DELETE-instruktion som den programmerades för körs. Utlösare som är inaktiverade kan återanvändas. Om du aktiverar en utlösare skapas den inte igen. Utlösaren utlöses på samma sätt som när den ursprungligen skapades.
Säkerhet
Behörigheter
För att ta bort en DML-utlösare krävs ALTER-behörighet i tabellen eller vyn där utlösaren har definierats.
Om du vill inaktivera eller aktivera en DML-utlösare måste en användare minst ha ALTER-behörighet i tabellen eller vyn där utlösaren skapades.
Använda SQL Server Management Studio
Ta bort en DML-utlösare
I Object Exploreransluter du till en instans av databasmotorn och expanderar sedan den instansen.
Expandera den databas som du vill använda, expandera Tabelleroch expandera sedan tabellen som innehåller utlösaren som du vill ta bort.
Expandera Triggers, högerklicka på triggern för att ta bort och klicka sedan på Ta bort.
I dialogrutan Ta bort objekt kontrollerar du utlösaren för att ta bort och klickar sedan på OK.
Inaktivera och aktivera en DML-utlösare
I Object Exploreransluter du till en instans av databasmotorn och expanderar sedan den instansen.
Expandera den databas som du vill använda, expandera Tabelleroch expandera sedan tabellen som innehåller utlösaren som du vill inaktivera.
Expandera Utlösare, högerklicka på utlösaren för att inaktivera den och klicka sedan på Inaktivera.
Om du vill aktivera utlösaren klickar du på Aktivera.
Använda Transact-SQL
Ta bort en DML-utlösare
Anslut till databasmotorn.
I standardfältet klickar du på Ny fråga.
Kopiera och klistra in följande exempel i frågefönstret. Kör instruktionen CREATE TRIGGER för att skapa
Sales.bonus_reminderutlösaren. Om du vill ta bort utlösaren kör du instruktionen 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  
  
Inaktivera och aktivera en DML-utlösare
Anslut till databasmotorn.
I standardfältet klickar du på Ny fråga.
Kopiera och klistra in följande exempel i frågefönstret. Kör instruktionen CREATE TRIGGER för att skapa
Sales.bonus_reminderutlösaren. Om du vill inaktivera och aktivera utlösaren kör du DISABLE TRIGGER respektive ENABLE TRIGGER-instruktioner.
--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  
Se även
              ALTER TRIGGER (Transact-SQL)
              SKAPA UTLÖSARE (Transact-SQL)
              DROP TRIGGER (Transact-SQL)
              AKTIVERA AVTRYCKARE (Transact-SQL)
              INAKTIVERA UTLÖSARE (Transact-SQL)
              EVENTDATA (Transact-SQL)
              Hämta information om DML-triggers
              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)