세션은 현재 SQL Server 인스턴스에 연결된 사용자의 프로세스를 나타낸다.
이런 세션은 현재 SQL Server에 접근된 사용자의 정보를 나타내는데 이러한 정보를 가지고 있는 테이블이 master.dbo.sysprocesse 이다.
위 테이블을 조회하면 현재 SQL Server 인스턴스에서 사용되고 있는 클라이언트 프로세스 또는 시스템 프로세스에 대한 정보를 확인할 수 있다.
SELECT * FROM master.dbo.sysprocesses;
또는 sys.dm_exec_sessions 테이블로 확인할 수 있다.
SELECT * FROM sys.dm_exec_sessions;
위 쿼리문의 결과는 현재 인스턴스에 사용되고 있는 클라이언트 프로세스 + 시스템 프로세스이다. 검색된 결과를 알아보기 쉽게 하기 위해 쿼리문을 조금 수정하면 다음과 같다.
SELECT
hostname AS '호스트명',
PROGRAM_NAME AS '프로그램명',
HOSTPROCESS AS '프로세스명',
loginame AS '로그인명',
waittime AS '현재대기시간',
cpu AS '누적CPU 사용시간',
login_time AS '로그인 시간',
last_batch AS '마지막 호출시간',
status AS '상태',
cmd AS '실행중인명령',
open_tran AS '트랜잭션 수',
nt_domain AS '도메인명',
nt_username AS '유저명',
net_address AS 'MAC 주소',
spid AS '세션ID',
kpid AS '쓰레드ID',
dbid AS '디비ID',
uid AS '유저ID',
request_id AS '요청ID',
lastwaittype AS '대기유형'
FROM master.dbo.sysprocesses
WHERE status NOT LIKE 'background ';
위 쿼리문의 결과는 아래와 같다.
이 때 활성화된 세션 중에 필요없는 세션을 종료할 때는 'kill' 명령어를 사용한다.
exec sp_who2
명령어를 실행하여 SPID 값을 확인한 후
kill [SPID]
를 입력하여 필요없는 세션을 종료할 수 있다. 예를 들어 52번 세션을 종료할 때는
kill 52
와 같이 입력한다.
'MSSQL 2008 > MSSQL 관리' 카테고리의 다른 글
MSSQL 서버 접속자 정보 확인 (0) | 2013.06.13 |
---|---|
테이블 구조 수정시 변경 내용을 저장할 수 없을 경우 설정 변경 방법 (0) | 2012.12.21 |
정보확인 - 데이터베이스 조회와 테이블보고 (0) | 2010.12.28 |
정보확인 - 테이블과 컬럼 정보 확인하기 (0) | 2010.12.28 |
오류처리 - MSSQL 서버 1785 오류 (0) | 2010.12.24 |