본문 바로가기
다른 DBMS/MSSQL

sp_who2,sp_lock,v$session와 같은 명령어

by 취미툰 2021. 7. 21.
반응형

sp_who2

Lock 걸린 프로세스를 조회하는 명령어. sp_who도 있지만 sp_who 보단 sp_who2를 추천

각 컬럼 별 내용은 아래와 같습니다.

 

sp_who  sp_who2  설명
 spid  SPID  세션 ID
 ecid    특정 세션 ID와 연결된 지정된 스레드의 실행 컨텍스트 ID
 status  Status  프로세스 상태
 * dormant : SQL Server 에서 세션을 다시 설정
 * running : 세션에서 일괄 처리를 하나 이상 실행
 * background : 세션에서 교착 상태 감지와 같은 백그라운드 작업을 실행
 * rollback : 세션에서 트랜잭션 롤백을 진행
 * pending : 세션이 작업자 스레드를 사용할 수 있을 때까지 기다림
 * runnable : 세션의 작업은 스케줄러의 실행 가능한 큐에 있음
 * spinloop : 세션의 작업이 spinlock 을 사용할 수 있을 때까지 기다림
 * suspended : 세션이 I/O 와 같은 이벤트가 완료되기를 기다림
 logname  Login  특정 프로세스와 연결된 로그인 이름
 hostname  Hostname  각 프로세스의 호스트 또는 컴퓨터 이름
 blk  BlkBy  프로세스를 차단하기 위한 세션 ID
 없는 경우 0
 dbname  DBName  프로세스가 사용하는 데이터베이스 이름
 cmd  Command  프로세스에 대해 실행 중인 데이터베이스 엔진 명령
 request_id  REQUEST ID  특정 세션에서 실행 중인 요청에 대한 ID
   CPUTime  세션이 활성화 된 후 쿼리에서 발생된 CPUTime 의 합 (milliseconds)
   DiskIO  세션이 활성화 된 후 쿼리에서 발생된 DiskIO 의 합 (bytes)
   LastBatch  마지막으로 쿼리가 수행된 시간
   ProgramName  프로그램 이름

출처 : https://mozi.tistory.com/252

 

Process 상태관련해서 잘 설명해준 사이트가 있어서 추가로 링크 남깁니다.

https://www.sqlpassion.at/archive/2018/06/05/does-a-query-always-wait-in-the-suspended-state/

 

Does a Query always wait in the SUSPENDED State? – SQLpassion

Does a Query always wait in the SUSPENDED State?

www.sqlpassion.at

 

sp_lock

Lock잡고 있는 정보를 확인하는 명령어

각 컬럼별 내용은 아래와 같습니다.

sp_lock 설명
spid 잠금을 요청하는 프로세스 세션ID
dbid 데이터베이스 식별번호
Objid 개체의 식별번호
Indid 인덱스 식별번호
Type 잠금유형
Resource 리소스 식별값
Mode 잠금모드
S - 공유잠금
U - 업데이트 잠금
X - 독점잠금
IS - 의도 공유
IU - 의도 업데이트
IX - 독점 의도
BU - 대량 업데이트
Status 잠금요청 상태

출처 : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=hjdu21&logNo=220983191577 

 

MSSQL LOCK 확인 , 잠금 확인 , sp_lock

db 가 갑자기 느려지거나, 뭔가 낌새가 좋지 않을때 내가 트렌젝션 종료 처리 했는지 궁금할때 Lock 잡고 ...

blog.naver.com

MSSQL 현재 접속되어 있는 세션 정보 확인하는 쿼리

SELECT A.spid

, A.login_time

, A.loginame

, A.last_batch

, A.status

, A.program_name

, A.cmd

, B.client_net_address

FROM sys.sysprocesses           A 

JOIN sys.dm_exec_connections B

ON A.spid = B.session_id

출처 : https://zetastring.tistory.com/357

 

MSSQL 현재 붙어있는(접속되어 있는) 세션 정보 확인하는 쿼리

MSSQL에서 현재 접속되어 있는(붙어있는) 세션을 확인하는 쿼리이다. SELECT A.spid , A.login_time , A.loginame , A.last_batch , A.status , A.program_name , A.cmd , B.client_net_address FROM sys.sysproce..

zetastring.tistory.com

 

 

 

해당 세션이 어떤 쿼리를 수행하는지 확인 할때

dbcc inputbuffer (spid)

 

세션 죽이기

 

kill sid
반응형

댓글