使用 SQL 扩展事件捕获链接服务器查询
Capture Linked server queries using SQL Extended Events
我尝试了很多事件类型,但无法实现链接服务器的日志记录。
我可以找出所有其他数据库的事件,但链接服务器没有运气。
有什么建议么 ?
您可以使用 OLEDB_DATA_READ
事件来跟踪对链接服务器的查询。如果此事件的结果比您想要的更详细,您可能需要添加过滤器以捕获所需的特定信息。以下 DDL 创建此扩展事件并可能需要调整选项(即 FILENAME
、MAX_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
我尝试了很多事件类型,但无法实现链接服务器的日志记录。 我可以找出所有其他数据库的事件,但链接服务器没有运气。 有什么建议么 ?
您可以使用 OLEDB_DATA_READ
事件来跟踪对链接服务器的查询。如果此事件的结果比您想要的更详细,您可能需要添加过滤器以捕获所需的特定信息。以下 DDL 创建此扩展事件并可能需要调整选项(即 FILENAME
、MAX_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