CREATE EVENT SESSION
[sql_statement_recompile]
ON
SERVER
ADD
EVENT sqlserver.sql_statement_recompile
(
WHERE [object_id] = 138 /*Replace with your stored procedure object id*/
AND [sqlserver].[database_id] = 999 /*Replace with your database id*/
)
ADD
TARGET package0.event_file
(
SET filename = N'sql_statement_recompile'
);
ALTER EVENT SESSION
[sql_statement_recompile]
ON SERVER
STATE = START;
当然,数据库和对象 ID 过滤器是可选的,但可以帮助您更精确地定位事物。
由于您使用的是 SQL Server 2012,您可能需要使用 SSMS 中的 GUI 来搜索事件sql_statement_recompile并查看有哪些可用的过滤器和附加输出可能对您有用。
氙气
可能唯一合理的方法是使用扩展事件。您可以使用以下定义:
当然,数据库和对象 ID 过滤器是可选的,但可以帮助您更精确地定位事物。
由于您使用的是 SQL Server 2012,您可能需要使用 SSMS 中的 GUI 来搜索事件
sql_statement_recompile
并查看有哪些可用的过滤器和附加输出可能对您有用。