sys.sysprocesses(Transact-SQL)
SQL Server 인스턴스에서 실행 중인 프로세스에 대한 정보를 포함합니다. 이러한 프로세스는 클라이언트 프로세스 또는 시스템 프로세스일 수 있습니다. sysprocesses에 액세스하려면 master 데이터베이스 컨텍스트 내에 있거나 master.dbo.sysprocesses 세 부분으로 구성된 이름을 사용해야 합니다.
중요 |
---|
이 SQL Server 2000 시스템 테이블은 이전 버전과의 호환성을 위해 뷰로 포함됩니다. 대신 현재 SQL Server 시스템 뷰를 사용하는 것이 좋습니다. 이와 동등한 뷰 또는 시스템 뷰를 찾으려면 SQL Server 2000 시스템 테이블을 SQL Server 2005 시스템 뷰로 매핑을 참조하십시오. Microsoft SQL Server의 이후 버전에서는 이 기능이 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 응용 프로그램은 수정하십시오. |
열 이름 |
데이터 형식 |
설명 |
---|---|---|
spid |
smallint |
SQL Server 세션 ID입니다. |
kpid |
smallint |
Windows 스레드 ID입니다. |
blocked |
smallint |
요청을 차단하고 있는 세션의 ID입니다. 이 열이 NULL이면 요청이 차단되지 않거나 차단 세션의 세션 정보를 사용할 수 없습니다(또는 식별할 수 없음). -2 = 분리된 분산 트랜잭션이 차단 리소스를 소유합니다. -3 = 지연된 복구 트랜잭션이 차단 리소스를 소유합니다. -4 = 내부 래치 상태 전환 때문에 차단 래치 소유자의 세션 ID를 확인할 수 없습니다. |
waittype |
binary(2) |
예약되어 있습니다. |
waittime |
bigint |
현재 대기 시간(밀리초)입니다. 0 = 프로세스가 대기하고 있지 않습니다. |
lastwaittype |
nchar(32) |
마지막 또는 현재 대기 유형의 이름을 나타내는 문자열입니다. |
waitresource |
nchar(256) |
잠금 리소스를 텍스트로 표시한 것입니다. |
dbid |
smallint |
프로세스가 현재 사용하고 있는 데이터베이스의 ID입니다. |
uid |
smallint |
명령을 실행한 사용자의 ID입니다. 사용자 및 역할 수가 32,767을 초과하는 경우 오버플로되거나 NULL을 반환합니다. 자세한 내용은 SQL Server 시스템 카탈로그 쿼리를 참조하십시오. |
cpu |
int |
프로세스의 누적 CPU 시간입니다. 항목은 SET STATISTICS TIME 옵션의 ON/OFF 여부와 관계없이 모든 프로세스에 대해 업데이트됩니다. |
physical_io |
bigint |
프로세스에 대한 누적 디스크 읽기/쓰기입니다. |
memusage |
int |
현재 해당 프로세스에 할당된 프로시저 캐시에 있는 페이지 수입니다. 음수는 프로세스가 다른 프로세스에 의해 할당된 메모리를 해제하고 있음을 의미합니다. |
login_time |
datetime |
클라이언트 프로세스가 서버에 로그인한 시간입니다. 시스템 프로세스의 경우에는 SQL Server가 시작된 시간이 저장됩니다. |
last_batch |
datetime |
클라이언트 프로세스가 원격 저장 프로시저 호출 또는 EXECUTE 문을 마지막으로 실행한 시간입니다. 시스템 프로세스의 경우에는 SQL Server가 시작된 시간이 저장됩니다. |
ecid |
smallint |
단일 프로세스 대신 작업하고 있는 하위 스레드를 고유하게 식별하는 데 사용하는 실행 컨텍스트 ID입니다. |
open_tran |
smallint |
프로세스의 열려 있는 트랜잭션 수입니다. |
status |
nchar(30) |
프로세스 ID 상태입니다. 가능한 값은 아래와 같습니다. 유휴 상태 = SQL Server에서 세션을 다시 설정하고 있습니다. 실행 중 = 세션에서 일괄 처리를 하나 이상 실행하고 있습니다. MARS(Multiple Active Result Sets)를 설정하면 세션에서 여러 개의 일괄 처리를 실행할 수 있습니다. 자세한 내용은 MARS(Multiple Active Result Sets) 사용을 참조하십시오. 백그라운드 = 세션에서 교착 상태 감지와 같은 백그라운드 태스크를 실행하고 있습니다. 롤백 = 세션에서 트랜잭션 롤백을 진행하고 있습니다. 보류 중 = 세션이 작업자 스레드를 사용할 수 있을 때까지 기다리고 있습니다. runnable = 세션의 태스크는 시간 퀀텀을 얻기 위해 기다리는 동안 스케줄러의 실행 가능한 큐에 있습니다. spinloop = 세션의 태스크가 spinlock을 사용할 수 있을 때까지 기다리고 있습니다. 일시 중지됨 = 세션이 I/O와 같은 이벤트가 완료되기를 기다리고 있습니다. |
sid |
binary(86) |
사용자의 GUID(Globally Unique Identifier)입니다. |
hostname |
nchar(128) |
워크스테이션의 이름입니다. |
program_name |
nchar(128) |
응용 프로그램의 이름입니다. |
hostprocess |
nchar(10) |
워크스테이션 프로세스 ID입니다. |
cmd |
nchar(16) |
현재 실행 중인 명령입니다. |
nt_domain |
nchar(128) |
클라이언트(Windows 인증을 사용하는 경우) 또는 트러스트된 연결의 Windows 도메인입니다. |
nt_username |
nchar(128) |
프로세스(Windows 인증을 사용하는 경우) 또는 트러스트된 연결의 Windows 사용자 이름입니다. |
net_address |
nchar(12) |
각 사용자의 워크스테이션에서 네트워크 어댑터에 할당된 고유 식별자입니다. 사용자가 로그인할 때 이 식별자는 net_address 열에 삽입됩니다. |
net_library |
nchar(12) |
클라이언트의 네트워크 라이브러리가 저장된 열입니다. 모든 클라이언트 프로세스는 네트워크 연결에 나타납니다. 네트워크 연결에는 연결을 구축할 수 있도록 해 주는 연관된 네트워크 라이브러리가 있습니다. 자세한 내용은 네트워크 프로토콜 및 TDS 끝점을 참조하십시오. |
loginame |
nchar(128) |
로그인 이름입니다. |
context_info |
binary(128) |
SET CONTEXT_INFO 문을 사용하여 일괄 처리에 저장한 데이터입니다. |
sql_handle |
binary(20) |
현재 실행 중인 일괄 처리 또는 개체를 나타냅니다. 참고 이 값은 일괄 처리나 개체의 메모리 주소에서 파생되며 SQL Server 해시 기반 알고리즘을 사용하여 계산되지 않습니다. |
stmt_start |
int |
지정된 sql_handle에 대한 현재 SQL 문의 시작 오프셋입니다. |
stmt_end |
int |
지정된 sql_handle에 대한 현재 SQL 문의 끝 오프셋입니다. -1 = 현재 문이 지정된 sql_handle에 대해 fn_get_sql 함수에서 반환한 결과의 끝까지 실행됩니다. |
request_id |
int |
요청의 ID입니다. 특정 세션에서 실행 중인 요청을 식별하는 데 사용됩니다. |
주의
사용자가 서버에 대한 VIEW SERVER STATE 권한을 가지고 있으면 SQL Server 인스턴스에서 실행 중인 모든 세션을 볼 수 있습니다. 그렇지 않으면 현재 세션만 볼 수 있습니다.