Partilhar via


sp_query_store_unforce_plan (Transact-SQL)

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores Azure SQL Database AzureSQL Managed InstanceSQL database in Microsoft Fabric

Permite a desimposição de um plano imposto anteriormente para uma consulta específica no Repositório de Consultas.

Transact-SQL convenções de sintaxe

Sintaxe

sp_query_store_unforce_plan
    [ @query_id = ] query_id ,
    [ @plan_id = ] plan_id ,
    [ @replica_group_id = ] 'replica_group_id'
[ ; ]

Argumentos

Importante

Os argumentos para procedimentos armazenados estendidos devem ser inseridos na ordem específica, conforme descrito na seção de sintaxe. Se os parâmetros forem inseridos fora de ordem, ocorrerá uma mensagem de erro.

@query_id [ = ] query_id

A ID da consulta. @query_id é bigint, sem padrão.

@plan_id [ = ] plan_id

A ID do plano de consulta que não será mais imposta. @plan_id é bigint, sem padrão.

@replica_group_id [ = ] «replica_group_id»

Você pode desforçar planos em uma réplica secundária quando o Repositório de Consultas para secundários legíveis estiver habilitado . Execute sp_query_store_force_plan e sp_query_store_unforce_plan na réplica primária. O uso do argumento @replica_group_id assume como padrão a réplica local onde o comando está sendo executado, mas você pode especificar um replica_group_id fazendo referência à exibição sys.query_store_plan_forcing_locations catálogo do sistema.

Valores de código de retorno

0 (sucesso) ou 1 (fracasso).

Permissões

Requer a ALTER permissão no banco de dados.

Observações

A Query Store para réplicas secundárias é suportada a partir do SQL Server 2025 (17.x) e versões posteriores, bem como na Azure SQL Database. Para suporte completo à plataforma, consulte Loja de Consulta para réplicas secundárias.

Exemplos

O exemplo a seguir retorna informações sobre as consultas no Repositório de Consultas.

SELECT txt.query_text_id,
       txt.query_sql_text,
       pl.plan_id,
       qry.*
FROM sys.query_store_plan AS pl
     INNER JOIN sys.query_store_query AS qry
         ON pl.query_id = qry.query_id
     INNER JOIN sys.query_store_query_text AS txt
         ON qry.query_text_id = txt.query_text_id;

Depois de identificar as query_id e plan_id que deseja desforçar, use o exemplo a seguir para desforçar o plano.

EXECUTE sp_query_store_unforce_plan 3, 3;