2017-07-25 95 views
1

我無法執行簡單的SQL查詢。當我使用unlock關鍵字時,記錄將打開,但如果我想截斷表格,則此關鍵字將不起作用。SQL Server 2012查詢未在測試服務器上執行

請提供一些建議如何解決這個問題。

我的查詢如下所示:

enter image description here

+4

最有可能的是表被鎖定。執行「EXEC sp_who2」並檢查阻止的人 –

+2

請注意,您的SPID爲156 - 這可以在屏幕抓取中看到,它是該選項卡名稱的一部分。將網格向下讀取到SPID 156,並且有一列BlkBy - '阻止。'。該號碼還有一個SPID。您可以在同一個網格上查找該過程。你會看到誰擁有它,以及運行它的機器,以及SQL的內容。希望這是足夠的上下文來確定你的下一步(基本上你可以殺死它,或者暫時放棄它)。 – Greenspark

+0

該表是事務處理,因此測試團隊在其中顯示插入cmd時在其中輸入條目。狀態是RUNNABLE。它是同一張桌子現在如何從RUNNABLE改變它的狀態? –

回答

1

識別查詢/程序阻止當前的查詢處理。有很多方法可以識別Blocking。這是一種方式。

Select * from master.sys.sysprocesses 
  1. Blocked(會話ID)被阻斷SPID柱。
  2. 要查看阻止查詢運行DBCC INPUTBUFFER(<Blocked Session ID>)

您可以根據Waittype, Open_Tran, and Status列的值採取適當的行動。

相關問題