使用 SQL 扩展事件捕获链接服务器查询

Capture Linked server queries using SQL Extended Events

我尝试了很多事件类型,但无法实现链接服务器的日志记录。 我可以找出所有其他数据库的事件,但链接服务器没有运气。 有什么建议么 ?

您可以使用 OLEDB_DATA_READ 事件来跟踪对链接服务器的查询。如果此事件的结果比您想要的更详细,您可能需要添加过滤器以捕获所需的特定信息。以下 DDL 创建此扩展事件并可能需要调整选项(即 FILENAMEMAX_MEMORY 等)。

CREATE EVENT SESSION [XE_Linked_Server_Test] ON SERVER 
ADD EVENT sqlserver.oledb_data_read
ADD TARGET package0.event_file(SET FILENAME=N'C:\Test\XE_Output_File.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