Sql-Server
有沒有辦法通過查詢文本找出正在執行的查詢的計劃句柄?
有沒有辦法通過查詢的文本來確定執行查詢的查詢計劃的計劃句柄?
也許在任何 DMV 中?
(我正在嘗試查找臨時查詢的查詢統計資訊。)
源自https://stackoverflow.com/questions/7359702/how-do-i-obtain-a-query-execution-plan
DECLARE @SearchForSql AS NVARCHAR(MAX) = 'SQL TEXT' SELECT UseCounts, Cacheobjtype, Objtype, TEXT, query_plan FROM sys.dm_exec_cached_plans CROSS APPLY sys.dm_exec_sql_text(plan_handle) CROSS APPLY sys.dm_exec_query_plan(plan_handle) WHERE Text LIKE CONCAT('%' ,@SearchForSql,'%') AND Text NOT LIKE '%-- Self Reference Marker --%'
注意:“不喜歡”是為了確保您找不到正在執行的語句,這本質上是自引用的。