다음을 통해 공유


sp_query_store_unforce_plan(Transact-SQL)

적용 대상:SQL Server 2016(13.x) 이상 Azure SQL 데이터베이스Azure SQL Managed Instance

쿼리 저장소 특정 쿼리에 대해 이전에 강제 계획 적용을 해제할 수 있습니다.

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

쿼리의 ID입니다. @query_id 기본값 없이 bigint입니다.

[ @plan_id = ] plan_id

더 이상 적용되지 않는 쿼리 계획의 ID입니다. @plan_id 기본값 없이 bigint입니다.

[ @force_plan_scope = ] 'replica_group_id'

보조 복제본에 대한 쿼리 저장소를 경우 보조 복제본에서 계획을 강제 적용 해제할 수 있습니다. 주 복제본에서 sp_query_store_force_plan 실행하고 sp_query_store_unforce_plan. @force_plan_scope 인수를 사용하면 명령이 실행되는 로컬 복제본으로 기본 설정되지만 sys.query_store_plan_forcing_locations 시스템 카탈로그 뷰를 참조하는 replica_group_id 지정할 수 있습니다.

반환 코드 값

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_idplan_id 식별한 후 다음 예제를 사용하여 계획을 강제 해제합니다.

EXEC sp_query_store_unforce_plan 3, 3;