本文件已封存並已停止維護。
ENABLE TRIGGER (Transact-SQL)
SQL Server 2005
更新:
2006 年 12 月 12 日
啟用 DML、DDL 或登入觸發程序。
啟用觸發程序並不會重新建立它。停用的觸發程序仍然是目前資料庫中的一個物件,但不會引發。啟用觸發程序後,原先設定之任何事件執行時,便造成觸發程序引發。您可以使用 DISABLE TRIGGER 停用觸發程序。您也可以利用 ALTER TABLE,來停用或啟用資料表上定義的 DML 觸發程序。
A. 啟用資料表的 DML 觸發程序
下列範例會停用 Address 資料表所建立的觸發程序 uAddress,然後再啟用它。
USE AdventureWorks; GO DISABLE TRIGGER Person.uAddress ON Person.Address; GO ENABLE Trigger Person.uAddress ON Person.Address; GO
B. 啟用 DDL 觸發程序
下列範例會以資料庫範圍建立 DDL 觸發程序 safety,然後再停用它。
IF EXISTS (SELECT * FROM sys.triggers
WHERE parent_class = 0 AND name = 'safety')
DROP TRIGGER safety ON DATABASE;
GO
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. 啟用以相同範圍定義的所有觸發程序
下列範例會啟用在伺服器範圍建立的所有 DDL 和登入觸發程序。
USE AdventureWorks; GO ENABLE Trigger ALL ON ALL SERVER; GO
顯示:

