全ての実行プランを削除
構文
DBCC FREEPROCCACHE WITH NO_INFOMSGS;
補足説明
* WITH NO_INFOMSGS 句を指定して、情報メッセージが表示されないようにする
特定の実行プランを削除
構文
SELECT plan_handle, st.text
FROM sys.dm_exec_cached_plans
CROSS APPLY sys.dm_exec_sql_text(plan_handle) AS st
WHERE text LIKE N'【特定したいSQL文】';
plan_handle text
-------------------------------------------------- -----------------------------
【実行プランのID】 【特定したいSQL文】
-- ★ここ★
DBCC FREEPROCCACHE (【実行プランのID】);
サンプル
SELECT * FROM TestTable;
GO
SELECT plan_handle, st.text
FROM sys.dm_exec_cached_plans
CROSS APPLY sys.dm_exec_sql_text(plan_handle) AS st
WHERE text LIKE N'SELECT * FROM TestTable%';
GO
plan_handle text
-------------------------------------------------- -----------------------------
0x060006001ECA270EC0315D05000000000000000000000000 SELECT * FROM Person.Address;
-- ★ここ★
DBCC FREEPROCCACHE (0x060006001ECA270EC0315D05000000000000000000000000);