Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server lck_m_x锁锁定整个数据库_Sql Server_Sql Server 2012_Database Locking - Fatal编程技术网

Sql server lck_m_x锁锁定整个数据库

Sql server lck_m_x锁锁定整个数据库,sql-server,sql-server-2012,database-locking,Sql Server,Sql Server 2012,Database Locking,我们遇到了整个数据库都无法访问的情况。在查看活动监视器和按持续时间排序时,我看到大量的积压查询,下面是最旧的查询 (@0 nvarchar(max) ,@1 nvarchar(max) ,@2 decimal(4,2),@3 decimal(1,0),@4 datetime,@5 int,@6 int,@7 int)UPDATE [model].[InsurancePolicies] SET [PolicyCode] = @0, [GroupCode] = @1, [Copay] = @2, [

我们遇到了整个数据库都无法访问的情况。在查看活动监视器和按持续时间排序时,我看到大量的积压查询,下面是最旧的查询

(@0 nvarchar(max) ,@1 nvarchar(max) ,@2 decimal(4,2),@3 decimal(1,0),@4 datetime,@5 int,@6 int,@7 int)UPDATE [model].[InsurancePolicies]
SET [PolicyCode] = @0, [GroupCode] = @1, [Copay] = @2, [Deductible] = @3, [StartDateTime] = @4, [PolicyholderPatientId] = @5, [InsurerId] = @6, [MedicareSecondaryReasonCodeId] = NULL
WHERE ([Id] = @7)
生产lck_m_x锁

它只是永远坐在那里,没有取得进展。我看不出的是

为什么一个简单的Id更新要花这么长时间? 为什么要生产lck_m_x锁?这意味着什么? 为什么一个查询会锁定整个数据库? 如果我在Activity Monitor中关闭了一个进程,所有后续的查询选择、更新等都会影响到各种不相关的表,几乎会立即清除


有解决问题的建议吗?

您是否检查了sys.dm_exec_requests以查看此查询正在等待什么?请看阻塞会话id、等待类型、最后等待类型等。如果不是原因,杀死这些进程不会解决问题并允许所有后续进程通过,是吗?对不起,我在项目符号列表的末尾停止了。我的观点仍然站得住脚:我们无法猜测为什么这一过程很慢/停滞。当它再次发生时,您需要进一步调查。好的,它现在正在发生……我在sys.dm_exec_请求中查找什么?请参阅我的第一条评论