2016-09-21 77 views
2

我在SQL Server 2014中有一个长时间运行的查询。它是一个存储过程调用。在活动监视器中,它显示出来。详细信息视图提供了当前正在运行的SQL,这是EXEC语句。命令栏中说这是一个UPDATE究竟是什么SQL Server卡住?

有问题的存储过程有几个UPDATE语句。我如何知道哪一个当前正在运行?另外,有没有办法知道存储过程参数?

+2

第一部分是http://stackoverflow.com/q/9293429/73226的副本。第二部分不是它已经在运行,除非计划缓存中的计划是为了执行而编译的,然后你可以从XML中获取它们。 –

回答

1

太长的评论,并认为它不回答你的问题,它可能会给你一些地方开始。

  1. 杀死proc,然后使用SQL事件探查器跟踪proc,同时执行它。 这是资源密集型,虽然和选项2是更好的恕我直言。
  2. 使用亚当Machanic's sp_whoisactive排除故障。这里有很多教程,其中有不同的选项和用例。最常见的一个是:

exec dbo.sp_WhoIsActive @get_plans =1, @get_additional_info = 1