的查询查看MSSQL里正在执行的查询操作(mssql怎么看正在执行)
MSSQL的查询操作在执行过程中非常重要,它涉及到查询、更新、插入或删除数据,是常见的数据库操作。在MSSQL数据库中,有时候很重要的是能够查看当前正在执行的查询语句,可以用来分析优化SQL查询语句,或者确定对系统哪些操作有明显影响,我们可以通过以下一些查询查看SQL里正在执行的查询操作。
-使用“系统视图”检索数据
首先可以使用系统视图查询MSSQL服务器上在运行的进程列表:
SELECT S.program_name,
requst_start_time,
S.last_request_end_time ,
S.host_name,
S.login_name
FROM sys.dm_exec_sessions S
WHERE S.is_user_process = 1
这里对is_user_process这个字段设置为1可以查看到所有当前运行的用户进程,返回的结果里包括程序名,程序开始时间,最后一次请求结束时间,宿主名和登录名等信息。
-使用 “系统函数” 检索数据
其次可以使用sys.dm_exec_sql_text函数查看当前在运行的每个查询语句的文本:
SELECT text
FROM sys.dm_exec_sql_text(sql_handle )
这里的sql_handle是表sys.dm_exec_sessions中的主键,返回的文本将会是所查询的完整SQL语句,可以帮助我们快速确定这条语句的精确含义,从而更好的体现查询结果。
-使用系统函数实时监控服务器上查询
此外,我们也可以使用sys.dm_exec_query_stats系统函数检索当前服务器上在运行的每一条查询消耗的时间和资源:
SELECT S.last_execution_time,
S.total_elapsed_time ,
S.total_worker_time
FROM sys.dm_exec_query_stats S
WHERE S.sql_handle = ‘句柄’
这里的句柄参数是在上面查询sys.dm_exec_sessions中获取的,返回的结果里就会包括每条SQL查询最后一次执行的时间,整体使用时间以及查询执行中最大占用系统时间等参数,可以在监控实时查询的行为,我们可以看到每条SQL语句的完整信息。
以上几步中就涵盖了MSSQL中查看当前执行的查询的操作,比较直接的方式可以使用系统视图和系统函数来检索数据,还可以通过这种方式实时监控服务器上的性能参数,更好的分析SQL优化和降低系统负载等问题。