Я работаю над панелью ввода данных, там работает более 300 клиентов с обновлением данных в таблице данных, я использую хранимую процедуру для выполнения обновления в таблице данных, выглядит следующим образом:Тупик в обновленной хранимой процедуре
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER PROCEDURE [dbo].[Update_Tbl_Client_Bpo_Data]
@Id int,
@CId varchar(50),
@Tbc_No varchar(200),
@Name varchar(200),
@EmailId varchar(200),
@MobileNo varchar(50),
@Gender varchar(50),
@LicenseNo varchar(200),
@GirNo varchar(200),
@PanNo varchar(200),
@H_Address varchar(500),
@H_City varchar(200),
@H_PinNo varchar(200),
@H_county varchar(200),
@H_State varchar(200),
@O_Address varchar(200),
@O_City varchar(200),
@O_PinNo varchar(200),
@LAL varchar(200),
@MRNNo varchar(200),
@AF varchar(200),
@NRI varchar(200),
@CP varchar(200),
@Status varchar(200)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
update Tbl_Client_Bpo_Data
set
[email protected]_No,
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected]_Address,
[email protected]_City,
[email protected]_PinNo,
[email protected]_county,
[email protected]_State,
[email protected]_Address,
[email protected]_City,
[email protected]_PinNo,
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected] from Tbl_Client_Bpo_Data where [email protected] and [email protected]
END
эта хранимая процедура получения Deadlock ошибки, как это ...
transaction was deadlocked on lock resources with another process and has been chosen as the deadlock victim. rerun the transaction.
я создать модуль резервного копирования, чтобы найти журналы ошибок, который показывает, что эта хранимая процедура получения взаимоблокировки при больше клиентов также попытаться обновить данные. .
я также добавил SET TRANSACTION ISOLATION LEVEL READ COMMITTED
, но он не работает для меня .. может кто-то дать решение разрешить эту ситуацию ..
или если есть какой-то механизм, который держит исполнение процесс до предыдущего выполнения завершает
Возможная дубликата [Transaction (идентификатор процесса) был заведен в тупик на ресурсах блокировки с другим процессом и был выбран в качестве тупиковой жертвы. Перезапустите транзакцию] (http://stackoverflow.com/questions/9212255/transaction-process-id-was-deadlocked-on-lock-resources-with-another-process-a) – MusicLovingIndianGirl
@AishvaryaKarthik Я также добавил 'УРОВЕНЬ ИЗОЛЯЦИИ '.. Я также упоминаю это в моем вопросе –
Есть ли индексы на вашей таблице, которые будут обновлены? – MikeAinOz