2017-11-23

ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE: Clear procedure cache for a particular database - 清除特定資料庫的 Plan Cache


若要清除 特定資料庫的 Plan Cache,在 SQL Server 2016 可以使用 ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE

執行此陳述式將會清除 目前資料庫中的 Plan Cache,這表示屬於該資料庫的 所有查詢 都將會需要重新編譯。






ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE: Clear procedure cache for a particular database - 清除特定資料庫的 Plan Cache


01. 在資料庫 Northwind,執行 4 段 SQL 查詢。

-- 011_Ad hoc Query



02. 檢視 Plan Cache

  • 確認有屬於資料庫 Northwind 的 Plan Cache


-- 012_ View Each cached query and execution plan



03. 檢視 Plan Cache
  • 確認有屬於資料庫 Northwind 的 Plan Cache
-- 013_View cached query for each database



04. 執行 ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE

  • 清除資料庫 Northwind 的 Plan Cache


-- 021_Clears the procedure (plan) cache for a particular database



05. 檢視 Plan Cache
  • 確認 沒有 資料庫 Northwind 的 Plan Cache

-- 022_ View Each cached query and execution plan



06. 檢視 Plan Cache
  • 確認 沒有 資料庫 Northwind 的 Plan Cache
-- 023_View cached query for each database






3-part name queries 不受影響

若是為 3 部分名稱(3-part name queries, DB.Schema.Object) 的查詢,ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE 採用確認 目前資料庫 為何者的方式來處理。

舉例來說:

  • 在資料庫 master 中,執行 3-part name queries,橫跨到資料庫 Northwind 存取物件,但其 目前資料庫是 master。
  • 若對資料庫 Northwind 執行 ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE,將清除目前資料庫是 Northwind 的 Plan Cache,而先前在資料庫 master 中的 3-part name queries,則不受到影響。


-- 031_3-part name queries(DB.Schema.Object)



-- 032_All_in_master_db





範例程式碼

20171123_DB_CLEAR PROCEDURE_CACHE
https://drive.google.com/drive/folders/1o8J4Xsxo1UC54PG8Mfu0e-kxGir0CC2A?usp=sharing




參考資料

ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE
https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-database-scoped-configuration-transact-sql

DBCC FREEPROCCACHE - Remove the specific plan from the cache - 由 Plan Cache 中移除指定的 Execution Plan
http://sharedderrick.blogspot.tw/2017/11/dbcc-freeproccache-remove-specific-plan.html

沒有留言:

張貼留言