다음을 통해 공유


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 인스턴스에서 실행 중인 모든 세션을 볼 수 있습니다. 그렇지 않으면 현재 세션만 볼 수 있습니다.