DBCC INPUTBUFFER(spid) : SPID가 마지막으로 사용한 명령문에 대한 정보 SQL Server 2005 Bible 696p.
SP_LOCK : 현재 락 상태를 확인할 수 있다. ( sp_lock [[@spid1 = ] 'spid1' ] [,[@spid2 = ] 'spid2'] )
exec sp_lock @@spid - @@SPID는 현재 사용자의 프로세스의 서버 프로세스 식별자(SPID) 값을 반환한다.
열 이름 |
설명 |
Spid |
SQL Server 프로세스 ID |
dbid |
잠금을 요청하는 DB ID (DB이름확인 : DB_NAME(dbid) |
objid |
잠금을 요청하는 개체의 개체 ID ( 개체 이름 확인 : OBJECT_NAME(objid) ) |
Indid |
인덱스 ID |
Type |
잠금 유형
- DB = 데이터베이스, - FIL = 파일
- IDX = 인덱스, - PG = 페이지
- KEY = 키, -TAB = 테이블
- EXT = 익스텐트, - RID = 행 식별자 |
Resource |
syslockinfo.restext의 값에 해당하는 잠금 리소스 |
Mode |
잠금 요청자의 잠금모드로 허가된 모드, 변환 모드 또는 대기 모드를 표시
S, U, X, IS, IU, IX, SIX, Sch-S, Sch-M, BU(Bulk update) 등 |
status |
잠금 요청 상태로 허가,대기,변환 중 하나의 값을 가진다
GRANT, WAIT 등 |
bible 702p
SP_WHO : 현재 락 상태를 확인 ( SP_WHO [[@login_name = ] 'login' ] )
컬럼 |
설명 |
spid |
시스템 프로세스 ID |
ecid |
특정 SPID와 관련된주어진 스레드의 실행 컨텍스트 ID |
status |
프로세스 상태 |
loginame |
특정 프로세스와 관련된 로그인 이름 |
hostname |
각 프로세스의 호스트 또는 컴퓨터 이름 |
blk |
프로세스를 차단하는 데 필요한 시스템 프로세스 ID |
dbname |
프로세스가 사용하는 데이터베이스 |
cmd |
Transact-SQL문 |
또한, SP_LOCK 53 과 같이 SPID를 명시하면 특정 SPID의 락 상태를 확인가능
SSMS의 GUI환경에서 락을 관리할 수도 있다. 관리 - 작업모니터를 실행.
DBCC USEROPTIONS : 트랜잭션의 격리 수준을 확인 및 암시적 트랜잭션 모드 확인(impicit_transaction 옵션이 SET이면 ON, 아예 없으면 OFF)