sys.database_query_store_options (Transact-SQL)

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores Banco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse Analytics

Retorna as opções de Repositório de Consultas para esse banco de dados.

Aplica-se a: SQL Server (SQL Server 2016 (13.x) e posterior), Banco de Dados SQL.

Nome da coluna Tipo de dados Descrição
desired_state smallint Indica o modo de operação desejado de Repositório de Consultas, definido explicitamente pelo usuário.
0 = OFF
1 = READ_ONLY
2 = READ_WRITE
4 = READ_CAPTURE_SECONDARY
desired_state_desc nvarchar(60) Descrição textual do modo de operação desejado de Repositório de Consultas:
OFF
READ_ONLY
READ_WRITE
READ_CAPTURE_SECONDARY
actual_state smallint Indica o modo de operação de Repositório de Consultas. Além da lista de estados desejados exigidos pelo usuário, o estado real pode ser um estado de erro.
0 = OFF
1 = READ_ONLY
2 = READ_WRITE
3 = ERRO
4 = READ_CAPTURE_SECONDARY
actual_state_desc nvarchar(60) Descrição textual do modo de operação real de Repositório de Consultas.
OFF
READ_ONLY
READ_WRITE
ERROR
READ_CAPTURE_SECONDARY

Há situações em que o estado real é diferente do estado desejado:
- Se o banco de dados estiver definido como modo somente leitura ou se Repositório de Consultas tamanho exceder sua cota configurada, Repositório de Consultas poderá operar no modo somente leitura mesmo se a leitura-gravação tiver sido especificada pelo usuário.
- Em cenários extremos Repositório de Consultas pode inserir um estado ERROR devido a erros internos. Começando com o SQL Server 2017 (14.x), se isso acontecer, o Repositório de Consultas pode ser recuperado executando o procedimento armazenado sp_query_store_consistency_check no banco de dados afetado. Se a execução sp_query_store_consistency_check não funcionar ou se você estiver usando SQL Server 2016 (13.x), precisará limpar os dados executandoALTER DATABASE [YourDatabaseName] SET QUERY_STORE CLEAR ALL;
readonly_reason int Quando o desired_state_desc é READ_WRITE e o actual_state_desc é READ_ONLY, readonly_reason retorna um mapa de bits para indicar por que a Repositório de Consultas está no modo somente leitura.

1 – o banco de dados está no modo somente leitura

2 – o banco de dados está no modo de usuário único

4 – o banco de dados está no modo de emergência

8 – o banco de dados é secundário réplica (aplica-se a grupos de disponibilidade e SQL do Azure replicação geográfica do Banco de Dados). Esse valor só pode ser observado efetivamente em réplicas secundárias legíveis

65536 – o Repositório de Consultas atingiu o limite de tamanho definido pela opção MAX_STORAGE_SIZE_MB . Para obter mais informações sobre essa opção, consulte Opções ALTER DATABASE SET (Transact-SQL).

131072 - O número de instruções diferentes em Repositório de Consultas atingiu o limite de memória interna. Considere remover consultas de que você não precisa ou atualizar para uma camada de serviço mais alta para habilitar a transferência de Repositório de Consultas para o modo de leitura/gravação.


262144 - O tamanho dos itens na memória aguardando para serem persistidos no disco atingiu o limite de memória interna. Repositório de Consultas estará temporariamente no modo somente leitura até que os itens na memória sejam persistidos no disco.


524288 – o banco de dados atingiu o limite de tamanho do disco. Repositório de Consultas faz parte do banco de dados do usuário, portanto, se não houver mais espaço disponível para um banco de dados, isso significa que Repositório de Consultas não podem mais crescer.


Para alternar o modo de operações de Repositório de Consultas de volta para leitura-gravação, consulte Verificar se Repositório de Consultas está coletando dados de consulta continuamente seção de Práticas Recomendadas com o Repositório de Consultas.
current_storage_size_mb bigint Tamanho de Repositório de Consultas no disco em megabytes.
flush_interval_seconds bigint O período de liberação regular de Repositório de Consultas dados para o disco em segundos. O valor padrão é 900 (15 min).

Altere usando a instrução ALTER DATABASE <database> SET QUERY_STORE (DATA_FLUSH_INTERVAL_SECONDS = <interval>) .
interval_length_minutes bigint O intervalo de agregação de estatísticas em minutos. Valores arbitrários não são permitidos. Use uma das seguintes opções: 1, 5, 10, 15, 30, 60 e 1440 minutos. O valor padrão é 60 minutos.
max_storage_size_mb bigint Tamanho máximo do disco para o Repositório de Consultas em megabytes (MB). O valor padrão é 100 MB até SQL Server 2017 (14.x) e 1 GB começando com SQL Server 2019 (15.x).
Para o Banco de Dados SQL Premium Edition, o padrão é 1 GB e, para o Banco de Dados SQL Basic Edition, o padrão é 10 MB.

Altere usando a instrução ALTER DATABASE <database> SET QUERY_STORE (MAX_STORAGE_SIZE_MB = <size>) .
stale_query_threshold_days bigint Número de dias em que as informações de uma consulta são mantidas no Repositório de Consultas. O valor padrão é 30. Defina como 0 para desabilitar a política de retenção.
Para o Banco de Dados SQL Basic Edition, o padrão é 7 dias.

Altere usando a instrução ALTER DATABASE <database> SET QUERY_STORE ( CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = <value> ) ) .
max_plans_per_query bigint Limita o número máximo de planos armazenados. O valor padrão é 200. Se o valor máximo for atingido, Repositório de Consultas interromperá a captura de novos planos para essa consulta. A configuração como 0 remove a limitação em relação ao número de planos capturados.

Altere usando a instrução ALTER DATABASE<database> SET QUERY_STORE (MAX_PLANS_PER_QUERY = <n>) .
query_capture_mode smallint O modo de captura de consulta ativo no momento:

1 = ALL – todas as consultas são capturadas. Esse é o valor de configuração padrão para SQL Server (SQL Server 2016 (13.x) e posterior).

2 = AUTO – capturar consultas relevantes com base na contagem de execuções e no consumo de recursos. Esse é o valor de configuração padrão para Banco de Dados SQL.

3 = NONE – parar de capturar novas consultas. O Repositório de Consultas continuará a coletar estatísticas de compilação e runtime para consultas que já foram capturadas. Use essa configuração com cautela, pois você pode perder a captura de consultas importantes.

4 = CUSTOM – permite controle adicional sobre a política de captura de consulta usando as opções de QUERY_CAPTURE_POLICY.
Aplica-se a: SQL Server 2019 (15.x) e posterior.
query_capture_mode_desc nvarchar(60) Descrição textual do modo de captura real de Repositório de Consultas:

ALL (padrão para SQL Server 2016 (13.x))

AUTO (padrão para Banco de Dados SQL)

Nenhuma

CUSTOM
capture_policy_execution_count int Opção de política CUSTOM do Modo de Captura de Consulta. Define o número de vezes que uma consulta é executada durante o período de avaliação. O padrão é 30.
Aplica-se a: SQL Server 2019 (15.x) e posterior.
capture_policy_total_compile_cpu_time_ms bigint Opção de política CUSTOM do Modo de Captura de Consulta. Define o tempo total decorrido da CPU de compilação usado por uma consulta durante o período de avaliação. O padrão é 1000.
Aplica-se a: SQL Server 2019 (15.x) e posterior.
capture_policy_total_execution_cpu_time_ms bigint Opção de política CUSTOM do Modo de Captura de Consulta. Define o tempo total decorrido da CPU de execução usado por uma consulta durante o período de avaliação. O padrão é 100.
Aplica-se a: SQL Server 2019 (15.x) e posterior.
capture_policy_stale_threshold_hours int Opção de política CUSTOM do Modo de Captura de Consulta. Define o período de intervalo de avaliação para determinar se uma consulta deve ser capturada. O padrão é 24 horas.
Aplica-se a: SQL Server 2019 (15.x) e posterior.
size_based_cleanup_mode smallint Controla se a limpeza será ativada automaticamente quando a quantidade total de dados se aproximar do tamanho máximo:

0 = OFF - a limpeza baseada em tamanho não será ativada automaticamente.

1 = AUTO – a limpeza baseada em tamanho será ativada automaticamente quando o tamanho no disco atingir 90% dos max_storage_size_mb. Esse é o valor de configuração padrão.

Limpeza com base no tamanho remove as consultas menos dispendiosas e mais antigas primeiro. Ele é interrompido quando aproximadamente 80% dos max_storage_size_mb são atingidos.
size_based_cleanup_mode_desc nvarchar(60) Descrição textual do modo de limpeza baseado em tamanho real de Repositório de Consultas:

OFF
AUTO (padrão)
wait_stats_capture_mode smallint Controla se Repositório de Consultas executa a captura de estatísticas de espera:

0 = OFF
1 = ON
Aplica-se a: SQL Server 2017 (14.x) e posterior.
wait_stats_capture_mode_desc nvarchar(60) Descrição textual do modo real de captura de estatísticas de espera:

OFF
ON (padrão)
Aplica-se a: SQL Server 2017 (14.x) e posterior.
actual_state_additional_info nvarchar(8000) Atualmente não utilizado.

Permissões

Requer a permissão VIEW DATABASE STATE.

Comentários

Um actual_state_desc valor de READ_CAPTURE_SECONDARY é o estado esperado quando Repositório de Consultas para réplicas secundárias está habilitada. Para obter mais informações, consulte Repositório de Consultas para réplicas secundárias.

Próximas etapas