sp_lock 락 > db

본문 바로가기
사이트 내 전체검색

db

sp_lock 락

페이지 정보

작성자 서방님 댓글 0건 조회 87회 작성일 07-11-10 20:39

본문

1. 정의

행이나 열의 접근을 막는 것

2. 락의 확인법

sp_lock               전체 락 확인 

sp_lock @@spid   자신의 세션의 lock만 확인

 열 이름 테이터 형식 설명 
 spid  smallint SQL Server 프로세스 ID
 dbid  smallint  잠금을 요청하는 디비 ID
 Objid  int  잠금을 요청하는 개체의 ID
 Indld  smallint  인덱스 ID번호
 Type  nchar(4)

 잠금 유형

DB = 데이터 베이스

FIL = 파일

IDX = 인덱스

PG = 페이지

KEY = 키

TAB = 테이블

EXT = 익스텐트

RID = 행 식별자

 Resource  nchar(16)

syslockinfo.restext의 값에 대항되는 잠금 리소스

 Mode  NVARCHAR(8)  잠금 요청자의 잠금 모드
 Status  INT  잠금 요청 상태

모드 S(shared) 테이블이 Select문을 통해 Table 사용 중 Fetch단계에서 테이블이 변경되면 안되므로 DDL문이 실행 못 하도록 락을 걸어 주는 것.

       X(eXclusive) update나 delete 시 commit이나 rollback을 하기 전에 그 row를 락거는것

 

상태 GRANT(잠금 허용)

       WAIT(다른 프로세스에서 차단되는 중)

       CVNT(다른 잠금으로 변환되는 중)

 

명시적 트랜젝션에서 update를 할때 index가 있는 컬럼이 where절에 있으면 그 행만 락을

걸어서 다른 행을 사용 가능한 상태로 만든다. 하지만 index가 없는 컬럼을 조건으로 잡으면

인덱스가 있는 컬럼만 보이지 다른 것들은 전혀 안보인다.
그러므로 update할때 where절에 index가 있는 컬럼으로 무조건 update해야 한다.

댓글목록

등록된 댓글이 없습니다.

Total 464건 21 페이지
게시물 검색

회원로그인

접속자집계

오늘
138
어제
225
최대
1,347
전체
154,897
Latest Crypto Fear & Greed Index

그누보드5
Copyright © 서방님.kr All rights reserved.