0

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

(@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 中终止该进程,所有后续查询(SELECTS、UPDATES 等)(影响各种不相关的表)几乎都会立即清除。

有什么建议可以解决吗?

4

0 回答 0