2017-07-25 89 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列的值采取适当的行动。

相关问题