Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
SQL-adatbázis a Microsoft Fabricben
Engedélyezi a DML, DDL vagy bejelentkezési triggeret.
Transact-SQL szintaxis konvenciók
Szemantika
ENABLE TRIGGER { [ schema_name . ] trigger_name [ ,...n ] | ALL }
ON { object_name | DATABASE | ALL SERVER } [ ; ]
Arguments
schema_name
Ez annak a sémának a neve, amelyhez a kiváltó kapcsoló.
schema_name nem adható meg DDL- vagy bejelentkezési eseményindítókhoz.
trigger_name
A trigger neve be kell kapcsolni?
ALL
Jelzi, hogy az ON záradék hatókörénél meghatározott összes trigger engedélyezett.
object_name
Ez annak a tábla vagy nézetnek a neve, amelyen a DML trigger trigger_name a végrehajtásra készült.
DATABASE
DDL trigger esetén azt jelzi, hogy trigger_name létrehozták vagy módosították, hogy adatbázis hatókörrel hajtson végre.
MINDEN KISZOLGÁLÓ
Az: SQL Server 2008 (10.0.x) és újabb verziókra vonatkozik.
DDL trigger esetén azt jelzi, hogy trigger_name szerver hatótávolsággal készült vagy módosított volt. Az ALL SERVER a bejelentkezési triggerekre is vonatkozik.
Megjegyzés:
Ez az opció nem érhető el egy zárt adatbázisban.
Megjegyzések
Ha engedélyezzük a triggert, nem hozza újra létre. Egy letiltott trigger továbbra is létezik objektumként a jelenlegi adatbázisban, de nem aktiválódik. Ha engedélyezzük a triggeret, akkor aktiválódik, amikor az eredeti programozott Transact-SQL utasításokat futtatják. A triggereket a DISABLE TRIGGER használatával lehet letiltani. A táblákon definiált DML triggerek szintén letilthatók vagy engedélyezhetők az ALTER TABLE használatával.
Permissions
A DML trigger engedélyezéséhez legalábbis a felhasználónak ALTER engedélyre van szüksége azon a táblán vagy nézeten, ahol a trigger létrejött.
Ahhoz, hogy DDL trigger szerver hatótávú (ALL SERVEREN) vagy bejelentkezési trigger engedélyezze, a felhasználónak CONTROL SERVER engedélyre van szüksége a szerveren. Egy DDL trigger engedélyezéséhez adatbázis hatókörrel (ON DATABASE) legalábbis a felhasználónak ALTER ANY DATABASE DDL TRIGGER engedélyt kell a jelenlegi adatbázisban.
Példák
A. DML trigger engedélyezése egy táblán
A következő példa letiltja az AdventureWorks adatbázisban a táblán Address létrehozott triggeretuAddress, majd engedélyezi.
DISABLE TRIGGER Person.uAddress ON Person.Address;
GO
ENABLE Trigger Person.uAddress ON Person.Address;
GO
B. DDL trigger engedélyezése
A következő példa létrehoz egy DDL triggeret safety adatbázis hatókörrel, majd letiltja és engedélyezi.
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. Minden trigger engedélyezése, amely ugyanazzal a hatókörrel volt meghatározva.
A következő példa lehetővé teszi az összes szerver hatókörben létrehozott DDL triggert.
Az: SQL Server 2008 (10.0.x) és újabb verziókra vonatkozik.
ENABLE Trigger ALL ON ALL SERVER;
GO
Lásd még:
TRIGGER LETILTÁSA (Transact-SQL)
ALTER TRIGGER (Transact-SQL)
LÉTREHOZNI TRIGGERET (Transact-SQL)
EJTŐ TRIGGER (Transact-SQL)
sys.triggers (Transact-SQL)