Я хочу попробовать проконтролировать состояние моего SQL Server, если при выполнении какой-либо операции DML триггер должен записать журнал.
----create table-----
USE [master]
GO
CREATE TABLE [dbo].[ChangeLogin_Log]
(
[ActionTime] [DATETIME] NULL DEFAULT (getdate()),
[Username] [NVARCHAR](100) NULL,
[EventType] [NVARCHAR](100) NULL,
[Data] [XML] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
----------------------TRIGGER ---------------------
CREATE TRIGGER [test] ON dbo.ChangeLogin_Log
FOR INSERT
AS
DECLARE @data XML = eventdata();
BEGIN
INSERT INTO ChangeLogin_Log(Username, EventType, Data)
VALUES (CURRENT_USER,
@data.value('(/EVENT_INSTANCE/EventType)[1]', 'NVARCHAR(100)'),
@data)
END
GO
Когда я вставляю одну запись, ChangeLogin_Log
не будет отображать EventType, Значения данных - где моя ошибка?
Спасибо