Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
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)