Sql serverda store procedurelerde dead lock sorunu
select ederken sorguları with(NOLOCK) dizimi ile soruna çözüm getirilsede update sp'lerinde soruna transaction kavramı ile yaklaşılabilir
1. İzolasyon seviyesini REPEATABLE READ düzeyine düşürün.
2. Önce UPDATE, sonraSELECT.
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ
BEGIN TRAN
UPDATE GENERATOR SET GENVALUE = GENVALUE + 1 WHERE
GENTABLENAME=@genTableName
SELECT GENVALUE FROM GENERATOR WHERE
GENTABLENAME=@genTableName
COMMIT;
1. İzolasyon seviyesini REPEATABLE READ düzeyine düşürün.
2. Önce UPDATE, sonraSELECT.
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ
BEGIN TRAN
UPDATE GENERATOR SET GENVALUE = GENVALUE + 1 WHERE
GENTABLENAME=@genTableName
SELECT GENVALUE FROM GENERATOR WHERE
GENTABLENAME=@genTableName
COMMIT;
Yorumlar
Yorum Gönder