Partilhar via


sys.database_query_store_options (Transact-SQL)

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Banco de dados SQL do Azure Synapse Analytics no Microsoft Fabric

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

Nome da coluna Tipo de dados Descrição
desired_state smallint Indica o modo de operação desejado do 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 do Repositório de Consultas:

OFF
READ_ONLY
READ_WRITE
READ_CAPTURE_SECONDARY
actual_state smallint Indica o modo de operação do 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 = ERROR
4 = READ_CAPTURE_SECONDARY
actual_state_desc nvarchar(60) Descrição textual do modo de operação real do 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 o tamanho do Repositório de Consultas exceder sua cota configurada, o Repositório de Consultas poderá operar no modo somente leitura, mesmo que você especifique leitura/gravação.
- Em cenários extremos, o Repositório de Consultas pode inserir um estado ERROR devido a erros internos. No SQL Server 2017 (14.x) e versões posteriores, se isso acontecer, o Repositório de Consultas poderá ser recuperado executando o sp_query_store_consistency_check procedimento armazenado no banco de dados afetado. Se a execução sp_query_store_consistency_check não funcionar ou se você estiver usando o SQL Server 2016 (13.x), será necessário limpar os dados executando ALTER DATABASE [YourDatabaseName] SET QUERY_STORE CLEAR ALL;
readonly_reason int Quando o desired_state_desc is READ_WRITE e o actual_state_desc is READ_ONLY, readonly_reason retorna um mapa de bits para indicar por que o 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á em modo de emergência
8 - o banco de dados é uma réplica secundária (aplica-se a grupos de disponibilidade e replicação geográfica do Banco de Dados SQL do Azure). Esse valor pode ser efetivamente observado apenas em readable réplicas secundárias
65536 - o Repositório de Consultas atingiu o limite de tamanho definido pela max_storage_size_mb opção. Para obter mais informações sobre essa opção, consulte Opções de ALTER DATABASE SET.
131072 - O número de instruções diferentes no Repositório de Consultas atingiu o limite de memória interna. Considere remover consultas desnecessárias ou atualizar para uma camada de serviço mais alta para habilitar a transferência do Repositório de Consultas para o modo de leitura/gravação.
262144 - O tamanho dos itens na memória que aguardam para serem persistidos no disco atingiu o limite de memória interna. O Repositório de Consultas está no modo somente leitura temporariamente até que os itens na memória sejam mantidos no disco.
524288 - O banco de dados atingiu o limite de tamanho do disco. O 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 o Repositório de Consultas não poderá mais crescer.

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

Altere usando a ALTER DATABASE <database> SET QUERY_STORE (DATA_FLUSH_INTERVAL_SECONDS = <interval>) instrução.
interval_length_minutes bigint O intervalo de agregação de estatísticas em minutos. Valores arbitrários não são permitidos. Use um dos seguintes valores: 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 no SQL Server 2019 (15.x) e versões posteriores.

Para a edição Premium do Banco de Dados SQL, o padrão é 1 GB e, para a edição Basic do Banco de Dados SQL, o padrão é 10 MB.

Altere usando a ALTER DATABASE <database> SET QUERY_STORE (MAX_STORAGE_SIZE_MB = <size>) instrução.
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 a edição Basic do Banco de Dados SQL, o padrão é 7 dias.

Altere usando a ALTER DATABASE <database> SET QUERY_STORE (CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = <value>)) instrução.
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, o Repositório de Consultas interromperá a captura de novos planos para essa consulta. A configuração como 0 remove a limitação do número de planos capturados.

Altere usando a ALTER DATABASE<database> SET QUERY_STORE (MAX_PLANS_PER_QUERY = <n>) instrução.
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 2016 (13.x) e versões posteriores.

2 = AUTO - Capture consultas relevantes com base na contagem de execução e no consumo de recursos. Esse é o valor de configuração padrão do Banco de Dados SQL.

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

4 = CUSTOM - Permite mais controle sobre a política de captura de consulta usando as opções QUERY_CAPTURE_POLICY.

Aplica-se a: SQL Server 2019 (15.x) e versões posteriores.
query_capture_mode_desc nvarchar(60) Descrição textual do modo de captura real do Repositório de Consultas:

ALL (padrão para SQL Server 2016 (13.x) e versões posteriores)

AUTO (padrão para Banco de Dados SQL)

NONE

CUSTOM
capture_policy_execution_count int Opção de política de modo CUSTOM 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 versões posteriores.
capture_policy_total_compile_cpu_time_ms bigint Opção de política de modo CUSTOM 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 versões posteriores.
capture_policy_total_execution_cpu_time_ms bigint Opção de política de modo CUSTOM 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 versões posteriores.
capture_policy_stale_threshold_hours int Opção de política de modo CUSTOM 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 versões posteriores.
size_based_cleanup_mode smallint Controla se a limpeza é ativada automaticamente quando a quantidade total de dados se aproxima do tamanho máximo:

0 = OFF - A limpeza com base no tamanho não é ativada automaticamente.
1 = AUTO - A limpeza baseada em tamanho é ativada automaticamente quando o tamanho no disco atinge 90% do 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 para quando aproximadamente 80 por cento é max_storage_size_mb atingido.
size_based_cleanup_mode_desc nvarchar(60) Descrição textual do modo de limpeza baseado em tamanho real do Repositório de Consultas:

OFF
AUTO (padrão)
wait_stats_capture_mode smallint Controla se o 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 versões posteriores.
wait_stats_capture_mode_desc nvarchar(60) Descrição textual do modo de captura de estatísticas de espera real:

OFF
ON (padrão)

Aplica-se a: SQL Server 2017 (14.x) e versões posteriores.
actual_state_additional_info nvarchar(4000) Atualmente não utilizado.

Permissões

Requer a permissão VIEW DATABASE STATE.

Comentários

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