Kyl*_*yle 4 sql-server sql-server-2008-r2
我在SQL Server 2008 R2中有一个数据库,除了一个表外,所有表似乎都正常运行.
在此表中,我无法删除行或插入行,因为它超过30分钟并且超时.
我的插入看起来像这样:
INSERT INTO [dbo].[brokenTable] ([Change], [Date], [ProdId], [IntCol])
VALUES ('test', getdate(), null, '99999')
Run Code Online (Sandbox Code Playgroud)
但是,我可以选择.选择前200,000需要33秒.表中只有约260,000行.有五列(一个int主键,一个日期,另一个int列和2个varchar列.)
这张桌子过去工作得很好而且很快,我根本没有改变任何结构.
有没有人有任何想法为什么会发生这种情况,以及如何解决它?
Kyl*_*yle 10
对于未来可能有同样问题的人.
我认为查询进展缓慢,情况并非如此.它被另一场会议锁定了.如果你按照马丁史密斯的评论,他帮我找到了解决它的问题.
首先,我跑了
select * from sys.dm_os_waiting_tasks
Run Code Online (Sandbox Code Playgroud)
在运行无法完成的查询时,再次运行它时,查找LCK_M_IX.我使用了该行的Session Id,并将其与来自的行匹配
select * from sys.dm_exec_sessions
Run Code Online (Sandbox Code Playgroud)
并发现阻止我的查询的违规会话!
因为我知道这是一个安全的会议结束,我结束了
Kill [sessionId]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4710 次 |
| 最近记录: |