sys.dm_exec_background_job_queue_stats(Transact-SQL)
적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)
비동기(백그라운드) 실행을 위해 제출된 각 쿼리 프로세서 작업에 대해 집계 통계를 제공하는 행을 반환합니다.
참고 항목
Azure Synapse Analytics 또는 PDW(Analytics Platform System)에서 이를 호출하려면 이름 sys.dm_pdw_nodes_exec_background_job_queue_stats 사용합니다. 이 구문은 Azure Synapse Analytics의 서버리스 SQL 풀에서 지원되지 않습니다.
열 이름 | 데이터 형식 | 설명 |
---|---|---|
queue_max_len | int | 큐의 최대 길이입니다. |
enqueued_count | int | 큐에 성공적으로 게시된 요청 수입니다. |
started_count | int | 실행이 시작된 요청 수입니다. |
ended_count | int | 성공 또는 실패에 대해 처리된 요청 수입니다. |
failed_lock_count | int | 잠금 경합이나 교착 상태로 인해 실패한 요청 수입니다. |
failed_other_count | int | 다른 이유로 인해 실패한 요청 수입니다. |
failed_giveup_count | int | 재시도 제한에 도달하여 실패한 요청 수입니다. |
enqueue_failed_full_count | int | 큐가 가득 찼기 때문에 실패한 큐에 넣기 시도 횟수입니다. |
enqueue_failed_duplicate_count | int | 중복으로 큐에 넣는 시도 수입니다. |
elapsed_avg_ms | int | 평균 경과된 요청 시간(밀리초)입니다. |
elapsed_max_ms | int | 가장 긴 요청의 경과 시간(밀리초)입니다. |
pdw_node_id | int | 적용 대상: Azure Synapse Analytics, Analytics Platform System(PDW) 이 배포가 있는 노드의 식별자입니다. |
설명
이 뷰는 비동기 업데이트 통계 작업에 대한 정보만 반환합니다. 비동기 업데이트 통계에 대한 자세한 내용은 통계를 참조 하세요.
사용 권한
SQL Server 및 SQL Managed Instance에서는 VIEW SERVER STATE
권한이 필요합니다.
SQL Database Basic, S0 및 S1 서비스 목표 또는 탄력적 풀 내의 데이터베이스에 대해서는 서버 관리자 계정, Microsoft Entra 관리자 계정 또는 ##MS_ServerStateReader##
서버 역할의 멤버 자격이 필요합니다. 다른 모든 SQL Database 서비스 목표에 대해서는 데이터베이스에 대한 VIEW DATABASE STATE
권한 또는 ##MS_ServerStateReader##
서버 역할의 멤버 자격이 필요합니다.
SQL Server 2022 이상에 대한 사용 권한
서버에 대한 VIEW SERVER PERFORMANCE STATE 권한이 필요합니다.
예제
A. 실패한 백그라운드 작업의 백분율 확인
다음 예제에서는 실행된 모든 쿼리에 대해 실패한 백그라운드 작업의 백분율을 반환합니다.
SELECT
CASE ended_count WHEN 0
THEN 'No jobs ended'
ELSE CAST((failed_lock_count + failed_giveup_count + failed_other_count) / CAST(ended_count AS float) * 100 AS varchar(20))
END AS [Percent Failed]
FROM sys.dm_exec_background_job_queue_stats;
GO
B. 실패한 큐에 넣기 시도의 백분율 확인
다음 예제에서는 실행된 모든 쿼리에 대해 실패한 큐에 넣기 시도의 백분율을 반환합니다.
SELECT
CASE enqueued_count WHEN 0
THEN 'No jobs posted'
ELSE CAST((enqueue_failed_full_count + enqueue_failed_duplicate_count) / CAST(enqueued_count + enqueue_failed_full_count + enqueue_failed_duplicate_count AS float) * 100 AS varchar(20))
END AS [Percent Enqueue Failed]
FROM sys.dm_exec_background_job_queue_stats;
GO