sql如何查看正在运行的存储过程

2023-04-12 04:49:00 查看 存储过程 正在运行

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命令杀死它。

相关文章