此示例用于sqlserver.session_nt_username获取当前会话 NT 用户。它将结果输出到一个文件中,您可能需要根据您的环境需要调整一些选项。
CREATE EVENT SESSION [XE_QUERY_CAPTURE] ON SERVER
ADD EVENT sqlserver.sql_statement_completed (
SET collect_statement=(1)
ACTION(package0.collect_system_time,sqlserver.session_nt_username)
)
ADD TARGET package0.event_file(SET filename=N'C:\Test\XE_QUERY_CAPTURE.xel')
WITH (MAX_MEMORY=4096 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,
MAX_DISPATCH_LATENCY=30 SECONDS,MAX_EVENT_SIZE=0 KB,
MEMORY_PARTITION_MODE=NONE,TRACK_CAUSALITY=OFF,STARTUP_STATE=OFF
);
GO
ALTER EVENT SESSION [XE_QUERY_CAPTURE] ON SERVER
STATE = START;
您将需要使用该
sqlserver.sql_statement_completed
事件,该事件statement
默认包含操作字段。此外,添加package0.collect_system_time
操作,并且有几个用于捕获用户名的选项。此示例用于
sqlserver.session_nt_username
获取当前会话 NT 用户。它将结果输出到一个文件中,您可能需要根据您的环境需要调整一些选项。