SQL 表 - 插入和删除超时,选择“确定”



>我在SQL Server 2008 R2中有一个数据库,除了一个表之外,所有表似乎都正常运行。

在此表中,我无法删除行或插入行,因为它会持续 30 多分钟并且超时。

我的插入看起来像这样:

INSERT INTO [dbo].[brokenTable] ([Change], [Date], [ProdId], [IntCol]) 
VALUES ('test', getdate(), null, '99999')

但是,我可以选择。选择前 200,000 名需要 33 秒。表中只有 ~260,000 行。有五列(一个 int 主键、一个日期、另一个 int 列和 2 个 varchar 列)。

这张桌子曾经工作得很好而且速度很快,我根本没有进行任何结构更改。

有没有人知道为什么会发生这种情况,以及如何解决它?

给未来可能有同样问题的人。

我认为查询进行得很慢,事实并非如此。它被另一个会话锁定。如果你遵循马丁史密斯的评论,他帮助我找到了修复它的方法。

首先,我跑了

select * from sys.dm_os_waiting_tasks

在运行无法完成的查询时,以及在未运行查询时再次查找LCK_M_IX。我使用了该行中的会话 ID,并将其与来自

select * from sys.dm_exec_sessions

并找到了阻止我查询的违规会话!

因为我知道这是一个安全的会议结束,所以我以

Kill [sessionId]

最新更新