상세 컨텐츠

본문 제목

sys.dm_exec_requests(Transact-SQL) #MSSQL #SQL Server

카테고리 없음

by A+티스토리 2022. 10. 20. 09:20

본문

반응형

 

열 이름 데이터 형식 설명
session_id smallint 이 요청과 관련된 세션의 ID입니다. Null을 허용하지 않습니다.
request_id int 요청의 ID입니다. 세션의 컨텍스트에서 고유합니다. Null을 허용하지 않습니다.
start_time datetime 요청이 도착한 타임스탬프입니다. Null을 허용하지 않습니다.
상태 nvarchar(30) 요청의 상태입니다. 다음 값 중 하나일 수 있습니다.

배경
실행 중
실행 가능
중지 중
일시 중단

Null을 허용하지 않습니다.
명령을 사용합니다. nvarchar(32) 처리되고 있는 명령의 현재 유형을 식별합니다. 일반 명령 유형에는 다음과 같은 값이 포함됩니다.

SELECT
INSERT
UPDATE
Delete
BACKUP LOG
BACKUP DATABASE
DBCC
FOR

요청 텍스트는 요청에 대한 해당 sql_handle과 함께 sys.dm_exec_sql_text를 사용하여 검색할 수 있습니다. 내부 시스템 프로세스는 수행하는 태스크 유형에 따라 명령을 설정합니다. 태스크에는 다음과 같은 값이 포함됩니다.

LOCK MONITOR
CHECKPOINTLAZY
WRITER

Null을 허용하지 않습니다.
sql_handle varbinary(64) 쿼리가 속하는 일괄 처리 또는 저장 프로시저를 고유하게 식별하는 토큰입니다. Null을 허용합니다.
statement_start_offset int 현재 실행 중인 일괄 처리 또는 지속형 개체에 대해 현재 실행 중인 문의 시작 위치를 바이트 단위로 나타냅니다(0부터 시작). sql_handle, statement_end_offset  sys.dm_exec_sql_text 동적 관리 함수와 함께 사용하여 요청에 대해 현재 실행 중인 문을 검색할 수 있습니다. Null을 허용합니다.
statement_end_offset int 현재 실행 중인 일괄 처리 또는 지속형 개체에 대해 현재 실행 중인 문의 종료 위치를 바이트 단위로 나타냅니다(0부터 시작). sql_handle, statement_start_offset  sys.dm_exec_sql_text 동적 관리 함수와 함께 사용하여 요청에 대해 현재 실행 중인 문을 검색할 수 있습니다. Null을 허용합니다.
plan_handle varbinary(64) 현재 실행 중인 일괄 처리에 대한 쿼리 실행 계획을 고유하게 식별하는 토큰입니다. Null을 허용합니다.
database_id smallint 요청을 실행 중인 대상 데이터베이스의 ID입니다. Null을 허용하지 않습니다.
user_id int 요청을 제출한 사용자의 ID입니다. Null을 허용하지 않습니다.
connection_id uniqueidentifier 요청이 도착한 연결의 ID입니다. Null을 허용합니다.
blocking_session_id smallint 요청을 차단하고 있는 세션의 ID입니다. 이 열이 NULL이거나 0과 같으면 요청이 차단되지 않거나 차단 세션의 세션 정보를 사용할 수 없습니다(또는 식별할 수 없음). 자세한 내용은 SQL Server 차단 문제 이해 및 해결을 참조하세요.

-2 = 분리된 분산 트랜잭션이 차단 리소스를 소유합니다.

-3 = 지연된 복구 트랜잭션이 차단 리소스를 소유합니다.

-4 = 내부 래치 상태 전환 때문에 현재 차단 래치 소유자의 세션 ID를 확인할 수 없습니다.

-5 = 이 래치 유형(예: SH 래치)에 대해 추적되지 않으므로 차단 래치 소유자의 세션 ID를 확인할 수 없습니다.

blocking_session_id -5 단독으로는 성능 문제를 나타내지 않습니다. -5는 세션이 비동기 작업이 완료되는 것을 기다리고 있음을 나타냅니다. -5가 도입되기 전에는 동일한 세션이 여전히 대기 상태였더라도 blocking_session_id 0을 표시했을 것입니다.

워크로드에 따라 -5를 blocking_session_id로 관찰하는 것이 일반적일 수 있습니다.
wait_type nvarchar(60) 요청이 현재 차단된 경우 이 열은 대기 유형을 반환합니다. Null을 허용합니다.

대기 유형에 대한 자세한 내용은 sys.dm_os_wait_stats(Transact-SQL)를 참조하세요.
wait_time int 요청이 현재 차단된 경우 이 열은 현재 대기의 기간(밀리초)을 반환합니다. Null을 허용하지 않습니다.
last_wait_type nvarchar(60) 이 요청이 이전에 차단된 경우 이 열은 마지막 대기의 유형을 반환합니다. Null을 허용하지 않습니다.
wait_resource nvarchar(256) 요청이 현재 차단된 경우 이 열은 요청이 현재 대기하고 있는 리소스를 반환합니다. Null을 허용하지 않습니다.
open_transaction_count int 이 요청에 대해 열린 트랜잭션 수입니다. Null을 허용하지 않습니다.
open_resultset_count int 이 요청에 대해 열린 결과 집합 수입니다. Null을 허용하지 않습니다.
transaction_id bigint 이 요청이 실행되는 트랜잭션의 ID입니다. Null을 허용하지 않습니다.
context_info varbinary(128) 세션의 CONTEXT_INFO 값입니다. Null을 허용합니다.
percent_complete real 다음 명령에 대한 작업 완료율입니다.

ALTER INDEX REORGANIZE
ALTER DATABASE의 AUTO_SHRINK 옵션
BACKUP DATABASE
DBCC CHECKDB
DBCC CHECKFILEGROUP
DBCC CHECKTABLE
DBCC INDEXDEFRAG
DBCC SHRINKDATABASE
DBCC SHRINKFILE
RECOVERY
RESTORE DATABASE
ROLLBACK
TDE ENCRYPTION

Null을 허용하지 않습니다.
estimated_completion_time bigint 내부 전용입니다. Null을 허용하지 않습니다.
cpu_time int 요청에 사용된 CPU 시간(밀리초)입니다. Null을 허용하지 않습니다.
total_elapsed_time int 요청이 도착한 이후 경과한 총 시간(밀리초)입니다. Null을 허용하지 않습니다.
scheduler_id int 이 요청을 예약하고 있는 스케줄러의 ID입니다. Null을 허용합니다.
task_address varbinary(8) 이 요청과 연관된 태스크에 할당된 메모리 주소입니다. Null을 허용합니다.
reads bigint 이 요청에서 수행된 읽기 수입니다. Null을 허용하지 않습니다.
writes bigint 이 요청에서 수행된 쓰기 수입니다. Null을 허용하지 않습니다.
logical_reads bigint 요청에서 수행된 논리적 읽기 수입니다. Null을 허용하지 않습니다.
text_size int 이 요청에 대한 TEXTSIZE 설정입니다. Null을 허용하지 않습니다.
언어 nvarchar(128) 요청에 대한 언어 설정입니다. Null을 허용합니다.
date_format nvarchar(3) 요청에 대한 DATEFORMAT 설정입니다. Null을 허용합니다.
date_first smallint 요청에 대한 DATEFIRST 설정입니다. Null을 허용하지 않습니다.
quoted_identifier bit 1 = QUOTED_IDENTIFIER가 요청에 대해 ON입니다. 그렇지 않으면 0을 반환합니다.

Null을 허용하지 않습니다.
arithabort bit 1 = ARITHABORT 설정이 요청에 대해 ON입니다. 그렇지 않으면 0을 반환합니다.

Null을 허용하지 않습니다.
ansi_null_dflt_on bit 1 = ANSI_NULL_DFLT_ON 설정이 요청에 대해 ON입니다. 그렇지 않으면 0을 반환합니다.

Null을 허용하지 않습니다.
ansi_defaults bit 1 = ANSI_DEFAULTS 설정이 요청에 대해 ON입니다. 그렇지 않으면 0을 반환합니다.

Null을 허용하지 않습니다.
ansi_warnings bit 1 = ANSI_WARNINGS 설정이 요청에 대해 ON입니다. 그렇지 않으면 0을 반환합니다.

Null을 허용하지 않습니다.
ansi_padding bit 1 = ANSI_PADDING 설정이 요청에 대해 ON입니다.

그렇지 않으면 0을 반환합니다.

Null을 허용하지 않습니다.
ansi_nulls bit 1 = ANSI_NULLS 설정이 요청에 대해 ON입니다. 그렇지 않으면 0을 반환합니다.

Null을 허용하지 않습니다.
concat_null_yields_null bit 1 = CONCAT_NULL_YIELDS_NULL 설정이 요청에 대해 ON입니다. 그렇지 않으면 0을 반환합니다.

Null을 허용하지 않습니다.
transaction_isolation_level smallint 이 요청이 만들어진 트랜잭션의 격리 수준을 나타냅니다. Null을 허용하지 않습니다.
0 = 지정되지 않음
1 = 커밋되지 않은 읽기
2 = 커밋된 읽기
3 = 반복 읽기
4 = 직렬화 가능
5 = 스냅샷
lock_timeout int 이 요청에 대한 잠금 제한 시간(밀리초)입니다. Null을 허용하지 않습니다.
deadlock_priority int 요청에 대한 DEADLOCK_PRIORITY 설정입니다. Null을 허용하지 않습니다.
row_count bigint 이 요청에서 클라이언트에 반환된 행 수입니다. Null을 허용하지 않습니다.
prev_error int 요청이 실행되는 동안 마지막으로 발생한 오류입니다. Null을 허용하지 않습니다.
nest_level int 요청에서 실행되고 있는 코드의 현재 중첩 수준입니다. Null을 허용하지 않습니다.
granted_query_memory int 요청에서 쿼리의 실행에 할당된 페이지 수입니다. Null을 허용하지 않습니다.
executing_managed_code bit 특정 요청이 루틴, 유형 및 트리거 같은 공용 언어 런타임 개체를 현재 실행하고 있는지 나타냅니다. 공용 언어 런타임 개체가 스택에 있을 때 항상 설정되며 공용 언어 런타임 내에서 Transact-SQL을 실행하는 동안에도 마찬가지입니다. Null을 허용하지 않습니다.
group_id int 이 쿼리가 속한 작업 그룹의 ID입니다. Null을 허용하지 않습니다.
query_hash binary(8) 쿼리에서 계산되는 이진 해시 값으로, 비슷한 논리를 가진 쿼리를 식별하는 데 사용됩니다. 쿼리 해시를 사용하여 리터럴 값만 다른 쿼리에 대한 집계 리소스 사용을 확인할 수 있습니다.
query_plan_hash binary(8) 쿼리 실행 계획에서 계산되는 이진 해시 값으로, 비슷한 쿼리 실행 계획을 식별하는 데 사용됩니다. 쿼리 계획 해시를 사용하여 비슷한 실행 계획을 가진 쿼리의 누적 비용을 찾을 수 있습니다.
statement_sql_handle varbinary(64) 적용 대상: SQL Server 2014(12.x) 이상

개별 쿼리의 SQL 핸들입니다.

쿼리 저장소가 데이터베이스에서 사용하도록 설정되지 않은 경우 이 열은 NULL입니다.
statement_context_id bigint 적용 대상: SQL Server 2014(12.x) 이상

sys.query_context_settings에 대한 선택적 외래 키입니다.

쿼리 저장소가 데이터베이스에서 사용하도록 설정되지 않은 경우 이 열은 NULL입니다.
dop int 적용 대상: SQL Server 2016(13.x) 이상

쿼리의 병렬 처리 수준입니다.
parallel_worker_count int 적용 대상: SQL Server 2016(13.x) 이상

병렬 쿼리인 경우 예약된 병렬 작업자의 수입니다.
external_script_request_id uniqueidentifier 적용 대상: SQL Server 2016(13.x) 이상

현재 요청과 연결된 외부 스크립트 요청 ID입니다.
is_resumable bit 적용 대상: SQL Server 2017(14.x) 이상

요청이 다시 시작 가능한 인덱스 작업인지 여부를 나타냅니다.
page_resource binary(8) 적용 대상: SQL Server 2019 (15.x)

wait_resource 열에 페이지가 포함된 경우 페이지 리소스의 8바이트 16진수 표현입니다. 자세한 내용은 sys.fn_PageResCracker를 참조하세요.
page_server_reads bigint 적용 대상: Azure SQL Database 하이퍼스케일

이 요청에서 수행한 페이지 서버 읽기 수입니다. Null을 허용하지 않습니다.

 

참조: https://learn.microsoft.com/ko-kr/sql/relational-databases/system-dynamic-management-views/sys-dm-exec-requests-transact-sql?view=sql-server-ver16 

 

sys.dm_exec_requests(Transact-SQL) - SQL Server

sys.dm_exec_requests(Transact-SQL)

learn.microsoft.com

 

반응형

댓글 영역