2016-09-21 55 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