Not
Å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
SQL-databas i Microsoft Fabric
Aktiverar en DML-, DDL- eller inloggningstrigger.
Transact-SQL syntaxkonventioner
Syntax
ENABLE TRIGGER { [ schema_name . ] trigger_name [ ,...n ] | ALL }
ON { object_name | DATABASE | ALL SERVER } [ ; ]
Arguments
schema_name
Är namnet på schemat som triggern tillhör.
schema_name kan inte anges för DDL- eller inloggningsutlösare.
trigger_name
Är namnet på triggern som ska aktiveras?
ALL
Indikerar att alla triggers definierade vid omfattningen av ON-klausulen är aktiverade.
object_name
Är namnet på tabellen eller vyn där DML-triggern trigger_name skapades för att köras.
DATABAS
För en DDL-trigger indikerar att trigger_name skapades eller modifierades för att köras med databasomfattning.
ALLA SERVRAR
gäller för: SQL Server 2008 (10.0.x) och senare.
För en DDL-trigger indikerar att trigger_name skapades eller modifierades för att köras med serveromfång. ALL SERVER gäller också för inloggningstriggers.
Anmärkning
Detta alternativ finns inte tillgängligt i en innehållen databas.
Anmärkningar
Att aktivera en trigger återskapar den inte. En inaktiverad trigger finns fortfarande som ett objekt i den aktuella databasen, men aktiveras inte. För att aktivera en trigger aktiveras den när några Transact-SQL satser som den ursprungligen programmerades på körs. Triggers inaktiveras genom att använda DISABLE TRIGGER. DML-triggers definierade på tabeller kan också inaktiveras eller aktiveras genom att använda ALTER TABLE.
Permissions
För att aktivera en DML-trigger behöver användaren minst ALTER-behörighet på tabellen eller vyn där triggern skapades.
För att aktivera en DDL-trigger med serveromfång (PÅ ALLA SERVRAR) eller en inloggningsutlösare behöver användaren CONTROL SERVER-behörighet på servern. För att aktivera en DDL-trigger med databasomfattning (ON DATABASE) behöver användaren minst tillstånd ÄNDRA VILKEN DATABAS DDL-TRIGGER som möjligt i den aktuella databasen.
Examples
A. Aktivering av en DML-trigger på en tabell
Följande exempel inaktiverar en utlösare uAddress som skapades i en tabell Address i AdventureWorks-databasen och aktiverar den sedan.
DISABLE TRIGGER Person.uAddress ON Person.Address;
GO
ENABLE Trigger Person.uAddress ON Person.Address;
GO
B. Aktivering av en DDL-trigger
Följande exempel skapar en DDL-utlösare safety med databasomfång, och inaktiverar och aktiverar den sedan.
CREATE TRIGGER safety
ON DATABASE
FOR DROP_TABLE, ALTER_TABLE
AS
PRINT 'You must disable Trigger "safety" to drop or alter tables!'
ROLLBACK;
GO
DISABLE TRIGGER safety ON DATABASE;
GO
ENABLE TRIGGER safety ON DATABASE;
GO
C. Aktiverar alla triggers som var definierade med samma omfattning
Följande exempel aktiverar alla DDL-triggers som skapades på serverens omfattning.
gäller för: SQL Server 2008 (10.0.x) och senare.
ENABLE Trigger ALL ON ALL SERVER;
GO
Se även
INAKTIVERA UTLÖSARE (Transact-SQL)
ALTER TRIGGER (Transact-SQL)
SKAPA UTLÖSARE (Transact-SQL)
DROP TRIGGER (Transact-SQL)
sys.triggers (Transact-SQL)