对于 MSSQL Server 上的“简单”请求,我得到一个充满 Xmls 的列:
SELECT CONVERT(XML, event_data) As event_data_xml
FROM sys.fn_xe_file_target_read_file('Test*.xel', NULL, NULL, NULL)
结果:
其中之一的详细信息:
<event name="login" package="sqlserver" timestamp="2020-07-17T10:09:20.922Z">
<data name="is_cached">
<value>true</value>
</data>
<data name="is_recovered">
<value>false</value>
</data>
<data name="is_dac">
<value>false</value>
</data>
<data name="database_id">
<value>1</value>
</data>
<data name="packet_size">
<value>4096</value>
</data>
<data name="options">
<value>2000002838f4010000000000</value>
</data>
<data name="options_text">
<value />
</data>
<data name="database_name">
<value />
</data>
<action name="attach_activity_id" package="package0">
<value>093CAB81-B0B7-46CF-A807-F32D0469235A-2</value>
</action>
</event>
在这些详细信息中,我没有得到任何提示,即哪个用户调用了此事件。所以:
如果通过 SQL 代码找出是哪个用户调用了这个事件,怎么办?
感谢帮助!