0
我有以下DDL觸發器:DDL觸發器不監視表的觸發事件
CREATE TABLE ddl_log (PostTime datetime, DB_User nvarchar(100), Event nvarchar(100), TSQL nvarchar(2000));
GO
CREATE TRIGGER log
ON DATABASE
FOR DDL_DATABASE_LEVEL_EVENTS
AS
DECLARE @data XML;
SET @data = EVENTDATA();
INSERT ddl_log
(PostTime, DB_User, Event, TSQL)
VALUES
(GETDATE(),
CONVERT(nvarchar(100), CURRENT_USER),
@data.value('(/EVENT_INSTANCE/EventType)[1]', 'nvarchar(100)'),
@data.value('(/EVENT_INSTANCE/TSQLCommand)[1]', 'nvarchar(2000)')) ;
GO
當我使用SSMS(即UI)以啓用/禁用一個表觸發器,一個事件被插入到表中。
然而,當我使用T-SQL如下:
ENABLE trigger tr_mytable ON mytable
沒有事件被插入到表中。
這是設計嗎?