sys.query_store_runtime_stats(Transact-SQL)
적용 대상: SQL Server 2016 (13.x) 이상 Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics
쿼리에 대한 런타임 실행 통계 정보에 대한 정보를 포함합니다.
열 이름 | 데이터 형식 | 설명 |
---|---|---|
runtime_stats_id | bigint | plan_id, execution_type 및 runtime_stats_interval_id에 대한 런타임 실행 통계를 나타내는 행의 식별자입니다. 이전 런타임 통계 간격에 대해서만 고유합니다. 현재 활성 간격의 경우 plan_id에서 참조하는 계획에 대한 런타임 통계를 나타내는 여러 행과 execution_type을 나타내는 실행 형식이 있을 수 있습니다. 일반적으로 한 행은 디스크로 플러시되는 런타임 통계를 나타내고 다른 행은 메모리 내 상태를 나타냅니다. 따라서 모든 간격에 대한 실제 상태를 얻으려면 메트릭을 집계하고 plan_id, execution_type 및 runtime_stats_interval_id를 기준으로 그룹화해야 합니다. 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
plan_id | bigint | 외래 키입니다. sys.query_store_plan(Transact-SQL)에 조인합니다. |
runtime_stats_interval_id | bigint | 외래 키입니다. sys.query_store_runtime_stats_interval(Transact-SQL)에 조인합니다. |
execution_type | tinyint | 다음은 쿼리 실행 유형을 결정합니다. 0 - 일반 실행(성공적으로 완료됨) 3 - 클라이언트 시작으로 실행이 중단됨 4 - 예외로 실행이 중단됨 |
execution_type_desc | nvarchar(128) | 실행 유형 필드에 대한 텍스트 설명: 0 - 일반 3 - 중단 4 - 예외 |
first_execution_time | datetimeoffset | 집계 간격 내에서 쿼리 계획에 대한 첫 번째 실행 시간입니다. 쿼리 실행 종료 시간입니다. |
last_execution_time | datetimeoffset | 집계 간격 내에서 쿼리 계획에 대한 마지막 실행 시간입니다. 쿼리 실행 종료 시간입니다. |
count_executions | bigint | 집계 간격 내에서 쿼리 계획에 대한 총 실행 수입니다. |
avg_duration | float | 집계 간격 내에서 쿼리 계획의 평균 기간(마이크로초 단위로 보고됨)입니다. |
last_duration | bigint | 집계 간격 내에서 쿼리 계획의 마지막 기간(마이크로초 단위로 보고됨)입니다. |
min_duration | bigint | 집계 간격 내에서 쿼리 계획의 최소 기간(마이크로초 단위로 보고됨)입니다. |
max_duration | bigint | 집계 간격 내에서 쿼리 계획의 최대 기간(마이크로초 단위로 보고됨)입니다. |
stdev_duration | float | 집계 간격(마이크로초 단위로 보고됨) 내에서 쿼리 계획에 대한 기간 표준 편차입니다. |
avg_cpu_time | float | 집계 간격 내에서 쿼리 계획에 대한 평균 CPU 시간(마이크로초 단위로 보고됨). 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
last_cpu_time | bigint | 집계 간격 내에서 쿼리 계획에 대한 마지막 CPU 시간(마이크로초 단위로 보고됨). 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
min_cpu_time | bigint | 집계 간격 내에서 쿼리 계획에 대한 최소 CPU 시간(마이크로초 단위로 보고됨). 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
max_cpu_time | bigint | 집계 간격 내에서 쿼리 계획에 대한 최대 CPU 시간(마이크로초 단위로 보고됨). 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
stdev_cpu_time | float | 집계 간격(마이크로초 단위로 보고됨) 내에서 쿼리 계획에 대한 CPU 시간 표준 편차입니다. 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
avg_logical_io_reads | float | 집계 간격 내에서 쿼리 계획에 대한 평균 논리 I/O 읽기 수입니다(8KB 페이지 수로 표시됨). 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
last_logical_io_reads | bigint | 집계 간격 내에서 쿼리 계획에 대한 마지막 논리 I/O 읽기 수입니다(8KB 페이지 수로 표시됨). 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
min_logical_io_reads | bigint | 집계 간격 내에서 쿼리 계획에 대한 최소 논리 I/O 읽기 수입니다(8KB 페이지 수로 표시됨). 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
max_logical_io_reads | bigint | 집계 간격 내에서 쿼리 계획에 대한 최대 논리 I/O 읽기 수입니다(8KB 페이지 수로 표시됨). 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
stdev_logical_io_reads | float | 집계 간격 내에서 쿼리 계획에 대한 논리 I/O 읽기 수 표준 편차입니다(8KB 페이지 읽기 수로 표시됨). 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
avg_logical_io_writes | float | 집계 간격 내에서 쿼리 계획에 대한 평균 논리 I/O 쓰기 수입니다(8KB 페이지 쓰기 수로 표시됨). 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
last_logical_io_writes | bigint | 집계 간격 내에서 쿼리 계획에 대한 마지막 논리 I/O 쓰기 수입니다(8KB 페이지 쓰기 수로 표시됨). 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
min_logical_io_writes | bigint | 집계 간격 내에서 쿼리 계획에 대한 최소 논리 I/O 쓰기 수입니다(8KB 페이지 쓰기 수로 표시됨). 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
max_logical_io_writes | bigint | 집계 간격 내에서 쿼리 계획에 대한 최대 논리 I/O 쓰기 수입니다(8KB 페이지 쓰기 수로 표시됨). 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
stdev_logical_io_writes | float | 집계 간격 내에서 쿼리 계획에 대한 논리 I/O 쓰기 수 표준 편차입니다(8KB 페이지 쓰기 수로 표시됨). 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
avg_physical_io_reads | float | 집계 간격 내에서 쿼리 계획에 대한 평균 물리적 I/O 읽기 수입니다(8KB 페이지 수로 표시됨). 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
last_physical_io_reads | bigint | 집계 간격 내에서 쿼리 계획에 대한 마지막 물리적 I/O 읽기 수입니다(8KB 페이지 수로 표시됨). 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
min_physical_io_reads | bigint | 집계 간격 내에서 쿼리 계획에 대한 최소 물리적 I/O 읽기 수입니다(8KB 페이지 수로 표시됨). 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
max_physical_io_reads | bigint | 집계 간격 내에서 쿼리 계획에 대한 최대 물리적 I/O 읽기 수입니다(8KB 페이지 수로 표시됨). 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
stdev_physical_io_reads | float | 집계 간격 내에서 쿼리 계획에 대한 물리적 I/O 읽기 수 표준 편차입니다(8KB 페이지 읽기 수로 표시됨). 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
avg_clr_time | float | 집계 간격 내에서 쿼리 계획에 대한 평균 CLR 시간(마이크로초 단위로 보고됨). 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
last_clr_time | bigint | 집계 간격 내에서 쿼리 계획에 대한 마지막 CLR 시간(마이크로초 단위로 보고됨). 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
min_clr_time | bigint | 집계 간격 내에서 쿼리 계획에 대한 최소 CLR 시간(마이크로초 단위로 보고됨). 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
max_clr_time | bigint | 집계 간격 내에서 쿼리 계획에 대한 최대 CLR 시간(마이크로초 단위로 보고됨). 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
stdev_clr_time | float | 집계 간격(마이크로초 단위로 보고됨) 내에서 쿼리 계획에 대한 CLR 시간 표준 편차입니다. 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
avg_dop | float | 집계 간격 내의 쿼리 계획에 대한 평균 DOP(병렬 처리 수준)입니다. 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
last_dop | bigint | 집계 간격 내의 쿼리 계획에 대한 마지막 DOP(병렬 처리 수준)입니다. 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
min_dop | bigint | 집계 간격 내의 쿼리 계획에 대한 최소 DOP(병렬 처리 수준)입니다. 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
max_dop | bigint | 집계 간격 내의 쿼리 계획에 대한 최대 DOP(병렬 처리 수준)입니다. 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
stdev_dop | float | 집계 간격 내의 쿼리 계획에 대한 DOP(병렬 처리 수준) 표준 편차입니다. 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
avg_query_max_used_memory | float | 집계 간격 내에서 쿼리 계획에 대한 평균 메모리 부여(8KB 페이지 수로 보고됨)입니다. 고유하게 컴파일된 메모리 최적화 프로시저를 사용하는 쿼리의 경우 항상 0입니다. 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
last_query_max_used_memory | bigint | 집계 간격 내에서 쿼리 계획에 대한 마지막 메모리 부여(8KB 페이지 수로 보고됨)입니다. 고유하게 컴파일된 메모리 최적화 프로시저를 사용하는 쿼리의 경우 항상 0입니다. 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
min_query_max_used_memory | bigint | 집계 간격 내에서 쿼리 계획에 대한 최소 메모리 부여(8KB 페이지 수로 보고됨)입니다. 고유하게 컴파일된 메모리 최적화 프로시저를 사용하는 쿼리의 경우 항상 0입니다. 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
max_query_max_used_memory | bigint | 집계 간격 내에서 쿼리 계획에 대한 최대 메모리 부여(8KB 페이지 수로 보고됨)입니다. 고유하게 컴파일된 메모리 최적화 프로시저를 사용하는 쿼리의 경우 항상 0입니다. 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
stdev_query_max_used_memory | float | 집계 간격 내에서 쿼리 계획에 대한 메모리 부여 표준 편차(8KB 페이지 수로 보고됨)입니다. 고유하게 컴파일된 메모리 최적화 프로시저를 사용하는 쿼리의 경우 항상 0입니다. 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
avg_rowcount | float | 집계 간격 내에서 쿼리 계획에 대해 반환된 평균 행 수입니다. 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
last_rowcount | bigint | 집계 간격 내에서 쿼리 계획을 마지막으로 실행하여 반환된 행 수입니다. 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
min_rowcount | bigint | 집계 간격 내에서 쿼리 계획에 대해 반환된 최소 행 수입니다. 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
max_rowcount | bigint | 집계 간격 내에서 쿼리 계획에 대해 반환된 최대 행 수입니다. |
stdev_rowcount | float | 집계 간격 내에서 쿼리 계획에 대해 반환된 행 수의 표준 편차입니다. |
avg_num_physical_io_reads | float | 집계 간격 내에서 쿼리 계획에 대한 평균 물리적 I/O 읽기 수입니다(읽기 I/O 작업 수로 표시됨). 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
last_num_physical_io_reads | bigint | 집계 간격 내에서 쿼리 계획에 대한 마지막 물리적 I/O 읽기 수입니다(읽기 I/O 작업 수로 표시됨). 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
min_num_physical_io_reads | bigint | 집계 간격 내에서 쿼리 계획에 대한 최소 물리적 I/O 읽기 수입니다(읽기 I/O 작업 수로 표시됨). 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
max_num_physical_io_reads | bigint | 집계 간격 내에서 쿼리 계획에 대한 최대 물리적 I/O 읽기 수입니다(읽기 I/O 작업 수로 표시됨). 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
avg_log_bytes_used | float | 집계 간격 내에서 쿼리 계획에서 사용하는 데이터베이스 로그의 평균 바이트 수입니다. 적용 대상: SQL Server(SQL Server 2017(14.x)부터 시작) 및 Azure SQL Database 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
last_log_bytes_used | bigint | 집계 간격 내에서 쿼리 계획의 마지막 실행에 사용된 데이터베이스 로그의 바이트 수입니다. 적용 대상: SQL Server(SQL Server 2017(14.x)부터 시작) 및 Azure SQL Database 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
min_log_bytes_used | bigint | 집계 간격 내에서 쿼리 계획에서 사용되는 데이터베이스 로그의 최소 바이트 수입니다. 적용 대상: SQL Server(SQL Server 2017(14.x)부터 시작) 및 Azure SQL Database 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
max_log_bytes_used | bigint | 집계 간격 내에서 쿼리 계획에서 사용되는 데이터베이스 로그의 최대 바이트 수입니다. 적용 대상: SQL Server(SQL Server 2017(14.x)부터 시작) 및 Azure SQL Database 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
stdev_log_bytes_used | float | 집계 간격 내에서 쿼리 계획에서 사용하는 데이터베이스 로그의 바이트 수에 대한 표준 편차입니다. 적용 대상: SQL Server(SQL Server 2017(14.x)부터 시작) 및 Azure SQL Database 참고: Azure Synapse Analytics는 항상 0을 반환합니다. |
avg_tempdb_space_used | float | 집계 간격(8KB 페이지 수로 표시됨) 내에서 쿼리 계획에 사용된 tempdb 평균 페이지 수입니다.적용 대상: SQL Server(SQL Server 2017(14.x)부터 시작) 및 Azure SQL Database |
last_tempdb_space_used | bigint | 집계 간격(8KB 페이지 수로 표시됨) 내에서 쿼리 계획에 사용된 tempdb 마지막 페이지 수입니다.적용 대상: SQL Server(SQL Server 2017(14.x)부터 시작) 및 Azure SQL Database |
min_tempdb_space_used | bigint | 집계 간격(8KB 페이지 수로 표시됨) 내에서 쿼리 계획에 사용되는 tempdb 최소 페이지 수입니다.적용 대상: SQL Server(SQL Server 2017(14.x)부터 시작) 및 Azure SQL Database |
max_tempdb_space_used | bigint | 집계 간격(8KB 페이지 수로 표시됨) 내에서 쿼리 계획에 사용되는 tempdb 최대 페이지 수입니다.적용 대상: SQL Server(SQL Server 2017(14.x)부터 시작) 및 Azure SQL Database |
stdev_tempdb_space_used | float | 집계 간격(8KB 페이지 수로 표시됨) 내에서 쿼리 계획에 대한 표준 편차에 사용되는 tempdb 페이지 수입니다.적용 대상: SQL Server(SQL Server 2017(14.x)부터 시작) 및 Azure SQL Database |
avg_page_server_io_reads | float | 집계 간격 내에서 쿼리 계획에 대한 평균 페이지 서버 I/O 읽기 수입니다(8KB 페이지 수로 표시됨). 적용 대상: Azure SQL Database Hyperscale 참고: Azure Synapse Analytics, Azure SQL Database, Azure SQL Managed Instance(하이퍼스케일이 아닌)는 항상 0을 반환합니다. |
last_page_server_io_reads | bigint | 집계 간격 내에서 쿼리 계획에 대한 마지막 페이지 서버 I/O 읽기 수입니다(8KB 페이지 수로 표시됨). 적용 대상: Azure SQL Database Hyperscale 참고: Azure Synapse Analytics, Azure SQL Database, Azure SQL Managed Instance(하이퍼스케일이 아닌)는 항상 0을 반환합니다. |
min_page_server_io_reads | bigint | 집계 간격(읽은 8KB 페이지 수로 표시됨) 내에서 쿼리 계획에 대한 최소 페이지 서버 I/O 읽기 수입니다. 적용 대상: Azure SQL Database Hyperscale 참고: Azure Synapse Analytics, Azure SQL Database, Azure SQL Managed Instance(하이퍼스케일이 아닌)는 항상 0을 반환합니다. |
max_page_server_io_reads | bigint | 집계 간격 내에서 쿼리 계획에 대한 페이지 서버 I/O 읽기의 최대 수입니다(8KB 페이지 수로 표시됨). 적용 대상: Azure SQL Database Hyperscale 참고: Azure Synapse Analytics, Azure SQL Database, Azure SQL Managed Instance(하이퍼스케일이 아닌)는 항상 0을 반환합니다. |
stdev_page_server_io_reads | float | 집계 간격 내에서 쿼리 계획에 대한 페이지 서버 I/O 읽기 수의 표준 편차입니다(8KB 페이지 수로 표시됨). 적용 대상: Azure SQL Database Hyperscale 참고: Azure Synapse Analytics, Azure SQL Database, Azure SQL Managed Instance(하이퍼스케일이 아닌)는 항상 0을 반환합니다. |
replica_group_id | bigint | 이 복제본의 복제본 집합 번호를 식별합니다. sys.query_store_replicas 외래 키입니다. 적용 대상: SQL Server(SQL Server 2022(16.x)부터) |
사용 권한
VIEW DATABASE STATE
권한이 필요합니다.
설명
드물게 DOP 열(max_dop, min_dop, avg_dop 및 last_dop)이 많은 수의 보고서를 볼 수 있습니다. 이는 프로세서 수가 많은 시스템에서 쿼리가 실행될 때 발생할 수 있습니다. 쿼리에서 사용자 정의 함수를 사용하는 시나리오에서는 이러한 불일치를 알 수 있습니다. 엔지니어링 팀은 이 문제를 조사하고 있으며 이 문제가 해결되면 이 메모를 업데이트합니다. 이 카탈로그 뷰에 대해 수집된 통계의 보고 문제이며 실제 쿼리 실행 또는 런타임 성능에는 영향을 주지 않습니다.
다음 단계
다음 문서에서 쿼리 저장소에 대해 자세히 알아봅니다.
- sys.query_store_replicas(Transact-SQL)
- sys.database_query_store_options(Transact-SQL)
- sys.query_context_settings(Transact-SQL)
- sys.query_store_plan(Transact-SQL)
- sys.query_store_query(Transact-SQL)
- sys.query_store_query_text(Transact-SQL)
- sys.query_store_wait_stats(Transact-SQL)
- sys.query_store_runtime_stats_interval(Transact-SQL)
- 쿼리 저장소를 사용한 성능 모니터링
- 카탈로그 보기(Transact-SQL)
- 쿼리 저장소 저장 프로시저(Transact-SQL)
- 쿼리 저장소에 대한 모범 사례