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

时间:2012-06-06 18:58:18

标签: sql-server sql-server-2008-r2

我在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列。)

这张桌子过去工作得很好而且很快,我根本没有改变任何结构。

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

1 个答案:

答案 0 :(得分:10)

对未来可能遇到同样问题的人。

我认为查询进展缓慢,情况并非如此。它被另一场会议锁定了。如果你按照马丁史密斯的评论,他帮我找到了解决它的问题。

首先,我跑了

select * from sys.dm_os_waiting_tasks

在运行无法完成的查询时,再次运行它时,查找LCK_M_IX。我使用了该行的Session Id,并将其与

中的行匹配
select * from sys.dm_exec_sessions

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

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

结束了
Kill [sessionId]