다음을 통해 공유


sys.database_query_store_options(Transact-SQL)

적용 대상: SQL Server 2016(13.x) 이상 Azure SQL 데이터베이스Azure SQL Managed InstanceAzure Synapse Analytics

이 데이터베이스에 대한 쿼리 저장소 옵션을 반환합니다.

열 이름 데이터 형식 설명
desired_state smallint 사용자가 명시적으로 설정한 쿼리 저장소 원하는 작업 모드를 나타냅니다.

0 = OFF
1 = READ_ONLY
2 = READ_WRITE
4 = READ_CAPTURE_SECONDARY
desired_state_desc nvarchar(60) 쿼리 저장소 원하는 작업 모드에 대한 텍스트 설명:

OFF
READ_ONLY
READ_WRITE
READ_CAPTURE_SECONDARY
actual_state smallint 쿼리 저장소 작업 모드를 나타냅니다. 사용자가 요구하는 원하는 상태 목록 외에도 실제 상태는 오류 상태일 수 있습니다.

0 = OFF
1 = READ_ONLY
2 = READ_WRITE
3 = ERROR
4 = READ_CAPTURE_SECONDARY
actual_state_desc nvarchar(60) 쿼리 저장소 실제 작업 모드에 대한 텍스트 설명입니다.

OFF
READ_ONLY
READ_WRITE
ERROR
READ_CAPTURE_SECONDARY

실제 상태가 원하는 상태와 다른 경우가 있습니다.
- 데이터베이스가 읽기 전용 모드로 설정되었거나 쿼리 저장소 크기가 구성된 할당량을 초과하는 경우 읽기-쓰기를 지정하더라도 쿼리 저장소 읽기 전용 모드로 작동할 수 있습니다.
- 극단적인 시나리오에서는 내부 오류로 인해 쿼리 저장소 오류 상태가 될 수 있습니다. SQL Server 2017(14.x) 이상 버전에서 이 경우 영향을 받는 데이터베이스에서 저장 프로시저를 실행하여 sp_query_store_consistency_check 쿼리 저장소 복구할 수 있습니다. 실행 sp_query_store_consistency_check 이 작동하지 않거나 SQL Server 2016(13.x)을 사용하는 경우 실행하여 데이터를 지워야 합니다. ALTER DATABASE [YourDatabaseName] SET QUERY_STORE CLEAR ALL;
readonly_reason int desired_state_desc is READ_WRITEactual_state_desc is이 readonly_reasonREAD_ONLY면 비트 맵을 반환하여 쿼리 저장소 읽기 전용 모드인 이유를 나타냅니다.

1 - 데이터베이스가 읽기 전용 모드에 있습니다.
2 - 데이터베이스가 단일 사용자 모드에 있습니다.
4 - 데이터베이스가 긴급 모드에 있습니다.
8- 데이터베이스는 보조 복제본(replica)(가용성 그룹 및 Azure SQL Database 지역 복제본(replica))에 적용됩니다. 이 값은 보조 복제본(replica)만 readable 효과적으로 관찰할 수 있습니다.
65536- 쿼리 저장소 옵션에 의해 설정된 크기 제한에 도달했습니다max_storage_size_mb. 이 옵션에 대한 자세한 내용은 ALTER DATABASE SET 옵션을 참조 하세요.
131072- 쿼리 저장소 다른 문의 수가 내부 메모리 제한에 도달했습니다. 필요하지 않은 쿼리를 제거하거나 더 높은 서비스 계층으로 업그레이드하여 읽기/쓰기 모드로 쿼리 저장소 전송할 수 있도록 하는 것이 좋습니다.
262144 - 디스크에서 유지되기를 기다리는 메모리 내 항목의 크기가 내부 메모리 제한에 도달했습니다. 쿼리 저장소 메모리 내 항목이 디스크에 유지될 때까지 일시적으로 읽기 전용 모드입니다.
524288 - 데이터베이스가 디스크 크기 제한에 도달했습니다. 쿼리 저장소 사용자 데이터베이스의 일부이므로 데이터베이스에 사용할 수 있는 공간이 더 이상 없으면 쿼리 저장소 더 이상 확장할 수 없습니다.

쿼리 저장소 작업 모드를 다시 읽기-쓰기로 전환하려면 쿼리 저장소 쿼리 데이터를 지속적으로 수집하는지 확인을 참조하세요.
current_storage_size_mb bigint 디스크의 쿼리 저장소 크기(메가바이트)입니다.
flush_interval_seconds bigint 쿼리 저장소 데이터를 디스크에 정기적으로 플러시하는 기간(초)입니다. 기본값은 15분입니다 900 .

문을 사용하여 변경합니다 ALTER DATABASE <database> SET QUERY_STORE (DATA_FLUSH_INTERVAL_SECONDS = <interval>) .
interval_length_minutes bigint 통계 집계 간격(분)입니다. 임의 값은 허용되지 않습니다. 다음 값1, , , 105, 6015301440 분 중 하나를 사용합니다. 기본값은 60분입니다.
max_storage_size_mb bigint 쿼리 저장소 최대 디스크 크기(MB)입니다. 기본값은 SQL Server 2017(14.x)까지 100MB, SQL Server 2019(15.x) 이상 버전에서는 1GB입니다.

SQL Database Premium Edition의 경우 기본값은 1GB이고 SQL Database Basic 버전의 경우 기본값은 10MB입니다.

문을 사용하여 변경합니다 ALTER DATABASE <database> SET QUERY_STORE (MAX_STORAGE_SIZE_MB = <size>) .
stale_query_threshold_days bigint 쿼리 정보가 쿼리 저장소 유지되는 일 수입니다. 기본값은 30여야 합니다. 0 보존 정책을 사용하지 않도록 설정합니다.
SQL Database Basic 버전의 경우 기본값은 7일입니다.

문을 사용하여 변경합니다 ALTER DATABASE <database> SET QUERY_STORE (CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = <value>)) .
max_plans_per_query bigint 저장된 계획의 최대 수를 제한합니다. 기본값은 200여야 합니다. 최대값에 도달하면 쿼리 저장소 해당 쿼리에 대한 새 계획 캡처를 중지합니다. 캡처된 계획 수에 대한 제한을 제거하도록 0 설정합니다.

문을 사용하여 변경합니다 ALTER DATABASE<database> SET QUERY_STORE (MAX_PLANS_PER_QUERY = <n>) .
query_capture_mode smallint 현재 활성 쿼리 캡처 모드:

1 = ALL - 모든 쿼리가 캡처됩니다. SQL Server 2016(13.x) 이상 버전의 기본 구성 값입니다.

2 = AUTO - 실행 수 및 리소스 사용량을 기반으로 관련 쿼리를 캡처합니다. SQL Database의 기본 구성 값입니다.

3 = NONE - 새 쿼리 캡처를 중지합니다. 쿼리 저장소 이미 캡처된 쿼리에 대한 컴파일 및 런타임 통계를 계속 수집합니다. 중요한 쿼리 캡처를 놓칠 수 있으므로 이 구성을 신중하게 사용합니다.

4 = CUSTOM - QUERY_CAPTURE_POLICY 옵션을 사용하여 쿼리 캡처 정책을 더 자세히 제어할 수 있습니다.

적용 대상: SQL Server 2019(15.x) 이상 버전
query_capture_mode_desc nvarchar(60) 쿼리 저장소 실제 캡처 모드에 대한 텍스트 설명:

ALL (SQL Server 2016(13.x) 이상 버전에 대한 기본값)

AUTO (SQL Database의 기본값)

NONE

CUSTOM
capture_policy_execution_count int 쿼리 캡처 모드 CUSTOM 정책 옵션입니다. 평가 기간 동안 쿼리가 실행되는 횟수를 정의합니다. 기본값은 30입니다.

적용 대상: SQL Server 2019(15.x) 이상 버전
capture_policy_total_compile_cpu_time_ms bigint 쿼리 캡처 모드 CUSTOM 정책 옵션입니다. 평가 기간 동안 쿼리에 사용하는 총 경과 컴파일 CPU 시간을 정의합니다. 기본값은 1000입니다.

적용 대상: SQL Server 2019(15.x) 이상 버전
capture_policy_total_execution_cpu_time_ms bigint 쿼리 캡처 모드 CUSTOM 정책 옵션입니다. 평가 기간 동안 쿼리에 사용하는 총 경과 실행 CPU 시간을 정의합니다. 기본값은 100입니다.

적용 대상: SQL Server 2019(15.x) 이상 버전
capture_policy_stale_threshold_hours int 쿼리 캡처 모드 CUSTOM 정책 옵션입니다. 쿼리가 캡처되어야 하는지 여부를 결정하는 평가 간격 기간을 정의합니다. 기본값은 24시간입니다.

적용 대상: SQL Server 2019(15.x) 이상 버전
size_based_cleanup_mode smallint 총 데이터 양이 최대 크기에 가까워지면 클린up이 자동으로 활성화되는지 여부를 제어합니다.

0 = OFF- 크기 기반 클린 자동으로 활성화되지 않습니다.
1 = AUTO- 디스크의 크기가 90%max_storage_size_mb에 도달하면 크기 기반 클린up이 자동으로 활성화됩니다. 이것은 기본 구성 값입니다.

크기 기반 정리는 가장 저렴하고 가장 오래된 쿼리를 먼저 제거합니다. 약 80%에max_storage_size_mb 도달하면 중지됩니다.
size_based_cleanup_mode_desc nvarchar(60) 쿼리 저장소 실제 크기 기반 클린업 모드에 대한 텍스트 설명:

OFF
AUTO (기본값)
wait_stats_capture_mode smallint 쿼리 저장소 대기 통계 캡처를 수행하는지 여부를 제어합니다.

0 = OFF
1 = ON

적용 대상: SQL Server 2017(14.x) 이상 버전
wait_stats_capture_mode_desc nvarchar(60) 실제 대기 통계 캡처 모드에 대한 텍스트 설명:

OFF
ON (기본값)

적용 대상: SQL Server 2017(14.x) 이상 버전
actual_state_additional_info nvarchar(4000) 현재 사용되지 않습니다.

사용 권한

VIEW DATABASE STATE 권한이 필요합니다.

설명

actual_state_descREAD_CAPTURE_SECONDARY 은 보조 복제본(replica) 대한 쿼리 저장소 사용하도록 설정된 경우의 예상 상태입니다. 자세한 내용은 보조 복제본을 위한 쿼리 저장소를 참조하세요.