sql如何查看正在运行的存储过程
SQL如何查看正在运行的存储过程
当我们执行存储过程时,有时候会忘记它正在运行,导致系统资源占用过多。如果我们能够查看正在运行的存储过程,就能够及时杀死它们,从而节省系统资源。
SQL Server有一个系统视图,叫做sys.dm_exec_requests,它可以帮助我们查看当前正在运行的存储过程。下面是查询sys.dm_exec_requests的一个简单例子:
SELECT *
FROM sys.dm_exec_requests
WHERE status = 'running'
AND command LIKE '%exec%'
这条查询将会返回正在运行的存储过程的信息,包括它们的名称、开始时间、等待时间等等。如果我们发现有存储过程正在运行很久,而且等待时间很长,那么我们可以考虑杀死它。
要杀死存储过程,我们需要找到它的进程ID,然后使用KILL命令杀死它。下面是一个例子:
KILL 52
这条命令将会杀死ID为52的进程。当然,我们也可以在查询sys.dm_exec_requests的结果中加入一列,显示它们的进程ID,这样我们就不需要再手动去查找了。
总结一下,要查看SQL Server正在运行的存储过程,我们可以使用sys.dm_exec_requests系统视图。如果发现有存储过程运行很久,而且等待时间很长,那么我们可以使用KILL命令杀死它。
相关文章