LPE_BATCH 스핀락
- Version : SQL Server 2005, 2008, 2008R2, 2012
SQL Server에서 동적관리뷰(DMV)를 사용하여 스핀락의 정보를 확인할 수 있다. Sys.dm_os_spinlock_stats 명령어어를 사용하여 현재 스핀락의 상태를 확인 할 수 있다.
select * from sys.dm_os_spinlock_stats |
스핀락은 특정 구조를 보호하는데 사용되는 가벼운 사용자 모드 동기화 개체이다. 스핀락의 목표는 빠르고 효율적인 것에 있다. 그래서 궁극적인 목표는 충돌을 0으로 하는 것과 스핀을 0으로 하는 것이다. SQL Server 2008은 150개 이상의 스핀락 개체가 포함되어 다중 스레드가 엑세스하는 동안 다양한 내부 구조를 보호한다.
LPE_BATCH 스핀락이 사용되는 곳을 몇 가지 알아 보자.
- 교착 상태 모니터는 일괄 처리의 작업의 동기화 액세스를 검색한다.
- 일괄 처리 가능한 상태 변경 – 예를 들어 RUNNING, IDLE, ENQUEUED
- DTC나 MARS와 같은 트랜잭션의 입력과 종료
[참고자료]
http://blogs.msdn.com/b/psssql/archive/2010/06/08/how-it-works-spinlock-of-type-lpe-batch.aspx
강성욱 / jevida@naver.com
Microsoft SQL Server MVP
Blog : http://sqlmvp.kr
Facebook : http://facebook.com/sqlmvp