SP 내부의 트랜젝션 처리

코코 2020.06.22 15:36 Views : 638

안녕하세요

MSSql 을 사용하고 있습니다


PROCEDURE dbo.spA

AS

BEGIN

SET NOCOUNT ON

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

UPDATE tblCharacter

SET wPvPWinCnt = 0

WHERE wPvPWinCnt <> 0

UPDATE tblCharacter

SET wPvPLoseCnt = 0

WHERE wPvPLoseCnt <> 0

......


RETURN 0

END



PROCEDURE dbo.spB

AS

BEGIN

SET NOCOUNT ON

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

-- PvPEvent 횟수

UPDATE tblPvPEvent

SET byPvPCnt_Daily = 0


-- 아이템 구매횟수

DELETE tblItemBuyCnt

WHERE byDeleteType = 1

......


RETURN 0

END



위와 같은 2개의 SP 가 있습니다

A 는 디비 스케줄러에서 6시에 호출되고, B 는 제작한 프로그램에서 6시에 호출이 됩니다

케릭터 정보는 30 만개 정도 있고요


중요한 데이타가 아니라서 TRAN 은 적용하지 않았습니다

그런데 잘 돌아가다가 데드락이 걸려서 에러가 났네요.

[Microsoft][ODBC SQL Server Driver][SQL Server]Transaction (Process ID 59) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.


서로 다른 SP 가 동시에 같은 테이블을 수정하려고하다가 저러한 에러가 날수도 있는건가요? (약 5초정도 뒤에 에러가 발생했습니다)

만일 2개다 동시에 접근했다면 하나가 끝날때까지 대기하다가 끝나면 다른게 실행되면 되는건데.. 5초 기다리다가 안풀렸다고 에러가 날수있는건가요?

그렇다면 SP 내부에서 BEGIN Tran 처리를 해주면 되는건가요?



No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 36183
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 18706
10623 쿼리 결과를 서버로 올릴때 질문입니다. [2] 희망나라 2020.07.20 548
10622 차등 백업이 풀백업 이후 한번만 진행되는 현상 [1] 레몽 2020.07.20 595
10621 CONVERT 함수 문의드립니다. [5] 초보SQL러 2020.07.20 544
10620 테이블에서 여러가지 조건 검색 질문 좀 할게요 [3] 엘리사 2020.07.17 541
10619 저기요...sql비교연산자에서요.... ☞☜ [1] 김포천재 2020.07.16 550
10618 테이블상 동일한 여러개의 로우에 조건을 검색하여 데이터를 찾을수있을까요? [1] 뽀구 2020.07.15 436
10617 중복시간을 제외한 시간의 합을 구할수있을까요? [7] 톰슨 2020.07.14 928
10616 SQL 서버 연결 [1] 망태기군 2020.07.13 1321
10615 SQL 특정 시간 날짜 Sum 문의 입니다. [1] 핸젤루 2020.07.07 791
10614 쿼리 질문합니다... 병든토끼 2020.07.07 415
10613 db 백업? 이중화? 질문 [2] 하이욧 2020.07.06 544
10612 인덱스를 위한 교재 추천 부탁 드립니다. [2] 대두개발자 2020.06.29 658
10611 2개의 테이블을 union all 로 조회 후 합치고 싶습니다. [2] 초보SQL러 2020.06.25 529
10610 사용자 이(가) 로그인하지 못했습니다. 원인: 명시적으로 지정된 데이터베이스를 열지 못했습니다. 마징고 2020.06.24 558
» SP 내부의 트랜젝션 처리 코코 2020.06.22 638
10608 상위 레벨 코드 가져오는 방법 [1] sql바보 2020.06.22 592
10607 mssql 프로지져 관련 문의 드립니다. hoon 2020.06.22 436
10606 대용량 DB 질문 [2] 하이욧 2020.06.22 815
10605 대용량 데이터 삭제 문의 입니다. [1] 인버터 2020.06.20 505
10604 서브쿼리를 이용해서 다수의 매개변수를 받아 update를 진행하고 있습니다... [4] 남중남고군대공대 2020.06.15 650





XE Login