我有一个很好的查询,我曾经找到here。
我想在下面的查询中添加查询的执行时间:
USE master
go
SELECT
sdest.DatabaseName, sdes.session_id,
sdes.[host_name], sdes.[program_name],
sdes.client_interface_name,
sdes.login_name, sdes.login_time,
sdes.nt_domain, sdes.nt_user_name,
sdec.client_net_address, sdec.local_net_address,
sdest.ObjName, sdest.Query
FROM
sys.dm_exec_sessions AS sdes
INNER JOIN
sys.dm_exec_connections AS sdec ON sdec.session_id = sdes.session_id
CROSS APPLY
(SELECT
db_name(dbid) AS DatabaseName,
object_id(objectid) AS ObjName,
ISNULL((SELECT TEXT AS [processing-instruction(definition)]
FROM sys.dm_exec_sql_text(sdec.most_recent_sql_handle)
FOR XML PATH(''), TYPE), '') AS Query
FROM
sys.dm_exec_sql_text(sdec.most_recent_sql_handle)
) sdest
WHERE
sdes.session_id <> @@SPID
-- AND sdes.nt_user_name = '' -- Put the username here !
ORDER BY
sdec.session_id
是否有我不知道的列需要包含进来才能得到这个结果?或者我还需要加入另一个表?
2条答案
按热度按时间g2ieeal71#
您可以在
sys.dm_exec_query_stats
中找到很多关于基于sql_handle的查询执行的信息,包括:last_elapsed_time, max_elapsed_time, total_elapsed_time
我向www.example.com_exec_query_stats添加了一个左连接sys.dm,并从中选择了所有字段。
8mmmxcuj2#
FOR XML无法序列化节点“processing-instruction(definition)”的数据,因为它包含XML中不允许的字符(0x 0000)。若要使用FOR XML检索此数据,请将其转换为binary、varbinary或image数据类型,然后使用BINARY BASE64指令。