Sql 서버 잠 금,독점 잠 금,공유 잠 금,업데이트 잠 금,낙관적 잠 금,비관 적 잠 금

자 물 쇠 는 두 가지 분류 방법 이 있다.1)데이터베이스 시스템 의 측면 에서 볼 때 잠 금 은 다음 과 같은 세 가지 유형 으로 나 뉜 다.데이터 업데이트 명령,즉 INSERT,UPDATE 또는 DELETE 명령 을 실행 할 때 SQL Server 는 자동 으로 독점 잠 금 을 사용 합 니 다.그러나 대상 에 다른 자물쇠 가 존재 할 때 독점 자 물 쇠 를 추가 할 수 없다.독점 자 물 쇠 는 일이 끝 날 때 까지 풀 려 날 수 있다.
•공유 잠 금(Shared Lock)공유 잠 금 자원 은 다른 사용자 가 읽 을 수 있 지만 다른 사용자 가 수정 할 수 없습니다.SELECT 명령 이 실 행 될 때 SQL Server 는 대상 을 공유 잠 금 한다.일반적으로 공유 자 물 쇠 를 추가 하 는 데이터 페이지 가 읽 히 면 공유 자 물 쇠 는 바로 방출 된다.
•업데이트 잠 금(Update Lock)업데이트 잠 금 은 잠 금 을 막 기 위해 만 들 어 졌 습 니 다.SQL Server 가 데 이 터 를 업데이트 하려 고 할 때 먼저 데이터 대상 을 업데이트 잠 금 으로 잠 그 면 데 이 터 는 수정 되 지 않 지만 읽 을 수 있 습 니 다.SQL Server 가 데이터 업데이트 작업 을 진행 할 것 이 확실 해 지면 자동 으로 업데이트 자 물 쇠 를 독점 자물쇠 로 바 꿉 니 다.그러나 대상 에 다른 자물쇠 가 존재 할 때 잠 금 을 업데이트 할 수 없습니다.
(2)프로그래머 의 관점 에서 볼 때 자 물 쇠 는 다음 과 같은 두 가지 유형 으로 나 뉜 다.•낙관 자물쇠(Optimistic Lock)낙관 자 물 쇠 는 데 이 터 를 처리 할 때 응용 프로그램의 코드 에서 어떤 일 을 하지 않 아 도 기록 에 자 물 쇠 를 추가 할 수 있다 고 가정 한다.즉,데이터 베이스 에 의 해 자 물 쇠 를 관리 하 는 작업 이다.일반적으로 트 랜 잭 션 처 리 를 수행 할 때 SQL Server 는 트 랜 잭 션 범위 내 에서 업 데 이 트 된 시 계 를 자동 으로 잠 금 합 니 다.
•비관 적 잠 금(Pessimstic Lock)비관 적 잠 금 은 데이터베이스 시스템 의 자동 관리 에 감기 에 걸 리 지 않 으 므 로 프로그래머 가 데이터 나 대상 의 잠 금 처 리 를 직접 관리 하고 사용 중인 데이터 의 모든 잠 금 을 획득,공유,포기 해 야 합 니 다.

좋은 웹페이지 즐겨찾기