У меня проблемы с веб-приложением, которое иногда блокируется
3 запроса. 2 пытаются обновить таблицу
UPDATE AttendanceRoll
SET ErrorFlag = 0
WHERE ContractID = @ContractID
AND DATEPART(month,AttendanceDate) = DATEPART(month,@Month_Beginning)
AND DATEPART(year,AttendanceDate) = DATEPART(year,@Month_Beginning)
и один пытается вставить в таблицу
INSERT INTO AttendanceRoll
(AttendanceDate, ContractID, PersonID,
StartTime,
EndTime,
Hours, AbsenceReason,
UpdateCount, SplitShiftID, ModifiedBy, ModifiedDate)
SELECT
@P33, @P34, @P35,
CONVERT(datetime,REPLACE( @P36, '.', ':')),
CONVERT(datetime,REPLACE( @P37, '.', ':')),
@P38, @P39,
@P40, 1, @P41, GETDATE()
График взаимоблокировки показывает своего рода циклическое расположение блокировок страниц и события обмена, и два запроса на обновление имеют одинаковый идентификатор процесса сервера.
Если у кого-нибудь есть идеи о том, как мне следует решить эту проблему, это было бы очень ценно.
У меня есть график взаимоблокировки, который я могу опубликовать, если кому-то нужно его увидеть.
Спасибо
Карл Р