如何将Sql文本转换为SQL Server中的sql_handle
问题描述:
我知道如何从sqlhandle中获取SQL语句,请使用CROSS APPLY sys.dm_exec_sql_text(sql_handle);
但我如何从SQL语句中获取sqlhandle?如何将Sql文本转换为SQL Server中的sql_handle
任何人都可以帮助我吗?
答
如果您研究DMV如何在内部工作,可能会有更好的方法。如果我需要一个快速和肮脏的答案,我会这样做:
With cteQueries As
(
SELECT *
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS st
)
Select * From cteQueries Where text
= 'INSERT msdb.dbo.syssessions(agent_start_date) VALUES(GetDate()) SELECT session_id = SCOPE_IDENTITY()'