>  기사  >  php教程  >  SQL Server 잠금 유형

SQL Server 잠금 유형

高洛峰
高洛峰원래의
2016-11-23 14:29:591195검색

(1) HOLDLOCK: 문 실행 직후 추가된 잠금을 해제하는 대신 전체 트랜잭션이 끝날 때까지 테이블에 공유 잠금을 유지합니다. ​

(2) NOLOCK: 공유 잠금 및 배타적 잠금을 추가하지 않습니다. 이 옵션이 적용되면 커밋되지 않은 읽기 데이터 또는 "더티 데이터"를 읽을 수 있습니다. ​

(3) PAGLOCK: 페이지 잠금을 추가하려면 지정합니다(그렇지 않으면 일반적으로 테이블 잠금이 추가될 수 있음).​ ​

(4) READCOMMITTED는 읽기-커밋 격리 수준에서 실행되는 트랜잭션과 동일한 잠금 의미로 스캔을 수행합니다. 기본적으로 SQL Server 2000은 이 격리 수준에서 작동합니다.

(5) READPAST: 잠긴 데이터 행 건너뛰기 이 옵션을 사용하면 다른 트랜잭션이 READPAST만 적용할 때까지 차단하는 대신 데이터를 읽을 때 다른 트랜잭션에 의해 잠긴 데이터 행을 건너뜁니다. READ COMMITTED 격리 수준에서 트랜잭션 작업의 SELECT 문 작업을 수행합니다.​ ​

(6) READUNCOMMITTED: NOLOCK과 동일합니다.​ ​

(7) REPEATABLEREAD: 트랜잭션을 반복 읽기 격리 수준으로 설정합니다.​ ​

(8) ROWLOCK: 대략적인 페이지 수준 잠금 및 테이블 수준 잠금 대신 행 수준 잠금을 사용합니다.  

(9) 직렬화 가능: 직렬화 가능 읽기 격리 수준에서 실행되는 트랜잭션과 동일한 잠금 의미로 스캔을 수행합니다. HOLDLOCK과 동일합니다.

(10) TABLOCK: 행 수준 또는 페이지 수준 잠금 대신 테이블 수준 잠금을 사용하도록 지정합니다. SQL Server는 문이 실행된 후 이 잠금을 해제합니다. HOLDLOCK도 지정하면 잠금이 유지됩니다. 이 거래가 끝날 때까지 남아 있습니다.

(11) TABLOCKX: 테이블에 배타적 잠금 사용을 지정합니다. 이 잠금은 문이나 전체 트랜잭션이 끝날 때까지 다른 트랜잭션이 이 테이블의 데이터를 읽거나 업데이트하는 것을 방지할 수 있습니다.

(12) UPDLOCK: 테이블의 데이터를 읽을 때 공유 잠금을 설정하는 대신 업데이트 잠금(업데이트 잠금)을 설정하도록 지정합니다. 이 문이 끝날 때까지 또는 전체 트랜잭션이 끝날 때까지 잠금이 유지됩니다. UPDLOCK을 사용하는 기능은 사용자가 먼저 데이터를 읽을 수 있도록 하고(다른 사용자가 데이터를 읽는 것을 차단하지 않고) 나중에 데이터가 업데이트될 때 이 기간 동안 다른 사용자가 데이터를 수정하지 않았는지 확인하는 것입니다.


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.