Поделиться через


sp_query_store_unforce_plan (Transact-SQL)

Область применения: SQL Server 2016 (13.x) и более поздних версий База данных SQL Azure Управляемый экземпляр SQL Azure

Включает отмену ранее принудительного плана для определенного запроса в хранилище запросов.

Соглашения о синтаксисе Transact-SQL

Синтаксис

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

Аргументы

[ @query_id = ] query_id

Идентификатор запроса. @query_id является bigint, без значения по умолчанию.

[ @plan_id = ] plan_id

Идентификатор плана запроса, который больше не будет применяться. @plan_id является bigint, без значения по умолчанию.

[ @force_plan_scope = ] 'replica_group_id'

Вы можете принудительно и отменить планы на вторичной реплике при включении хранилище запросов для вторичных реплик. Выполните sp_query_store_force_plan и sp_query_store_unforce_plan на вторичной реплике. Необязательный аргумент @force_plan_scope по умолчанию используется только для локальной реплики, но при необходимости можно указать replica_group_id ссылки sys.query_store_plan_forcing_locations.

Значения кода возврата

0 (успешно) или 1 (сбой).

Разрешения

Необходимо разрешение ALTER для базы данных.

Примеры

В следующем примере возвращаются сведения о запросах в хранилище запросов.

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;

После идентификации query_id и plan_id, которые вы хотите отменить, используйте следующий пример для отмены плана.

EXEC sp_query_store_unforce_plan 3, 3;