Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL databáze v Microsoft Fabric
Umožňuje spustit DML, DDL nebo přihlášení.
Syntaxe
ENABLE TRIGGER { [ schema_name . ] trigger_name [ ,...n ] | ALL }
ON { object_name | DATABASE | ALL SERVER } [ ; ]
Arguments
schema_name
Je název schématu, ke kterému spouštěč patří.
schema_name nelze zadat pro triggery DDL ani přihlášení.
trigger_name
Je název spouště, která má být povolena?
ALL
Označuje, že všechny spouštěče definované v rozsahu klauzule ON jsou povoleny.
object_name
Je název tabulky nebo pohledu, na kterém byl DML trigger vytvořen trigger_name pro vykonání.
DATABASE
Pro DDL trigger označuje, že trigger_name byl vytvořen nebo upraven pro spuštění v databázovém rozsahu.
ALL SERVER
platí pro: SQL Server 2008 (10.0.x) a novější.
Pro DDL trigger označuje, že trigger_name byl vytvořen nebo upraven pro spuštění se serverovým rozsahem. ALL SERVER se také vztahuje na spouštěče přihlášení.
Poznámka:
Tato možnost není dostupná v uzavřené databázi.
Poznámky
Zapnutí triggeru ho neobnoví. Aktivovaný trigger stále existuje jako objekt v aktuální databázi, ale nespouští se. Pro povolení spouštěče se spustí, když se spustí Transact-SQL příkazy, na kterých byl původně naprogramován. Spouštěče jsou deaktivovány pomocí DISABLE TRIGGER. DML spouštěče definované v tabulkách lze také vypnout nebo povolit pomocí ALTER TABLE.
Povolení
Pro povolení DML spouštěče uživatel minimálně potřebuje ALTER oprávnění k tabulce nebo pohledu, ve kterém byl spouštěč vytvořen.
Pro povolení DDL triggeru s rozsahem serveru (NA VŠECH SERVERECH) nebo spouštěčem přihlášení uživatel potřebuje oprávnění CONTROL SERVER na serveru. Pro povolení DDL triggeru s databázovým rozsahem (ON DATABASE) musí uživatel minimálně ZMĚNIT JAKÉKOLI OPRÁVNĚNÍ DDL TRIGGER databáze v aktuální databázi.
Examples
A. Povolení DML triggeru na tabulce
Následující příklad deaktivuje spouštěč uAddress , který byl vytvořen v tabulce Address v databázi AdventureWorks, a poté jej aktivuje.
DISABLE TRIGGER Person.uAddress ON Person.Address;
GO
ENABLE Trigger Person.uAddress ON Person.Address;
GO
B. Povolení DDL spouštěče
Následující příklad vytváří DDL trigger safety s databázovým rozsahem, poté jej deaktivuje a povoluje.
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. Povolit všechny spouštěče, které byly definovány se stejným rozsahem
Následující příklad umožňuje všechny DDL triggery, které byly vytvořeny v rozsahu serveru.
platí pro: SQL Server 2008 (10.0.x) a novější.
ENABLE Trigger ALL ON ALL SERVER;
GO
Viz také
ZAKÁZAT TRIGGER (Transact-SQL)
ALTEROVÁ SPOUŠŤ (Transact-SQL)
VYTVOŘIT SPOUŠŤ (Transact-SQL)
ODSTRANIT TRIGGER (Transact-SQL)
sys.triggers (Transact-SQL)