We're running into a situation where the whole database becomes inaccessible. In looking at Activity Monitor and sorting by duration, I see a tons of backlogged queries, the following being oldest query
(@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)
producing a lck_m_x Lock.
It just sits there forever without making progress. What I can't discern is
- Why is a simple update by Id taking so long?
- Why is it producing an lck_m_x lock and what does that mean?
- Why does that one query lock the entire database?
If I kill that one process in Activity Monitor, all the subsequent queries (SELECTS, UPDATES, et al) (which affect a variety of unrelated tables) all clear almost immediately.
Any suggestions to resolve?