MSSQL을 사용하다보면 DB SESSION 이나 DB Connection을 확인해야 할 일이 생길때가 종종있더라고요.
비정상 적인 접속으로 인해 세션이 지나치게 많아졌거나, 허용하지 않은 접근이 있는지 보안상의 이슈등으로 인해
접속 세션을 확인해봐야 할 때,
어디에서 누가 DB에 접속해 있는지 상태를 보고싶을때 어떻게 하는지 한번 알아보도록 하겠습니다.
select * from sys.dm_exec_sessions
실제 MSSQL 서버에서 sys.dm_exec_sessions를 조회한 화면
실제로 DB에서 조회를 해보면 굉장히 많은 컬럼들이 있습니다.
상세하게, 현재 얼마나 많은 세션들이 있고, 상태는 어떤지 등등 여러가지 정보들을 알 수 있습니다.
만약, DB에 접근한 세션의 IP를 알고 싶다면, sys.dm_exec_connections 을 이용해야 하며 다음 포스팅때 알려드리도록 하겠습니다.
실질적으로 중요한 몇 가지 포인트만 짚어보겠습니다.
필드명 |
설명 |
session_id |
설명 추후에 sys.dm_exec_connections 과 조인할때 키값입니다. |
login_time |
세션 설정 시간 |
host_name |
클라이언트 워크스테이션 이름(PC명) |
program_name |
세션을 시작한 프로그램 이름 |
login_name |
세션을 시작한 로그인 계정 |
status |
세션의 상태 |
상세한 내용은 마이크로소프트 SQL Session 관련 설명 에서 확인하세요.
댓글