SQL Server 2022 What’s new Series – Query Store and Intelligent Query Processing


O Repositório de Consultas para réplicas secundárias está disponível com instâncias do SQL Server 2022 (16.x) configuradas em grupos de disponibilidade. Quando esse recurso está habilitado, as informações de execução de consulta de réplicas secundárias são enviadas de volta para a réplica primária e armazenadas em seu próprio Repositório de Consultas. Isso permite monitoramento e análise centralizados do desempenho da consulta em todas as réplicas no grupo de disponibilidade. Observe que esse recurso não está disponível para ambientes de grupo de indisponibilidade ou para versões anteriores do SQL Server.

Antes de usar o Repositório de Consultas para réplicas secundárias em uma instância do SQL Server, você precisa ter um grupo de disponibilidade Always On. Em seguida, habilite o Query Store para réplicas secundárias usando as opções ALTER DATABASE SET (Transact-SQL).

Se o Query Store ainda não estiver habilitado e no modo READ_WRITE na réplica primária, você deverá ativá-lo antes de prosseguir. Execute o seguinte para cada banco de dados desejado na réplica primária:

ALTER DATABASE [Database_Name] SET QUERY_STORE = ON;
ALTER DATABASE [Database_Name] SET QUERY_STORE ( OPERATION_MODE = READ_WRITE );


Para habilitar o Repositório de Consultas em todas as réplicas secundárias, conecte-se à réplica primária e execute o seguinte para cada banco de dados desejado. Atualmente, quando o Repositório de Consultas para réplicas secundárias está habilitado, ele é habilitado para todas as réplicas secundárias.

ALTER DATABASE [Database_Name]
FOR SECONDARY SET QUERY_STORE = ON (OPERATION_MODE = READ_WRITE );

Para desabilitar o Repositório de Consultas em todas as réplicas secundárias, conecte-se à réplica primária e execute o seguinte para cada banco de dados desejado:

ALTER DATABASE [Database_Name] FOR SECONDARY SET QUERY_STORE = OFF;

Você pode validar se o Repositório de Consultas está habilitado em uma réplica secundária conectando-se ao banco de dados na réplica secundária e executando o seguinte:

SELECT desired_state, desired_state_desc, actual_state, actual_state_desc, readonly_reason FROM sys.database_query_store_options;

Os resultados de amostra a seguir da consulta de sys.database_query_store_options indicam que o Repositório de Consultas está em um estado READ_CAPTURE_SECONDARY para o secundário

Para desabilitar o Repositório de Consultas para réplicas secundárias, conecte-se ao banco de dados na réplica primária e execute o seguinte código:

ALTER DATABASE CURRENT FOR SECONDARY SET QUERY_STORE = OFF;

Deixe um comentário