如何查询SQLServer某进程当前正在执行或其最近一次执行的SQL语句

2024-11-23 03:55:29
推荐回答(2个)
回答1:

SELECT   
    c.session_id, c.net_transport, c.encrypt_option,   
    c.auth_scheme, s.host_name, s.program_name,   
    s.client_interface_name, s.login_name, s.nt_domain,   
    s.nt_user_name, s.original_login_name, c.connect_time,   
    s.login_time,q.text
FROM sys.dm_exec_connections AS c  
JOIN sys.dm_exec_sessions AS s  
    ON c.session_id = s.session_id  
cross apply fn_get_sql(most_recent_sql_handle) q

where条件自己写

回答2:

oracle中 v$session 里的sql_address, sql_hash_value 可以连到v$sqlarea 的address, hash_value. 这样就可以看到所有当前的session和它们在执行什么, 已经所执行sql的状况。