Sql-Server

伺服器重啟後查詢儲存強制計劃是否仍然存在?

  • February 9, 2022

想問一下,因為找不到這個資訊。

伺服器重啟後查詢儲存強制計劃是否仍然存在?

在哪些情況下,通過查詢儲存強制執行計劃不會保持有效?

是的,強制計劃在伺服器重新啟動時起作用。這是因為有關計劃強制的資訊儲存在數據庫中,並與其他使用者數據一起保存在磁碟上。您可以在查詢儲存 DMV 中看到這一點:

SELECT * 
FROM sys.query_store_plan
WHERE is_forced_plan = 1;

如果您認為某個計劃應該被強制執行,但事實並非如此,您可以設置一個擴展事件會話query_store_plan_forcing_failed以嘗試獲取有關它失敗原因的更多資訊。

在哪種情況下通過查詢儲存強制計劃不會生效?

計劃強制可能無法生效的原因列表位於“last_force_failure_reason_desc”下:sys.query_store_plan (Transact-SQL)

其他一些更平凡的原因可能是

  • 強制計劃已從查詢儲存數據中清除(因為自動清理,或者有人手動清除查詢儲存),或者
  • 查詢在可讀的輔助節點上執行(計劃強制不適用),或者
  • 查詢文本以某種方式更改,導致它獲得新的查詢雜湊,因此不再匹配用於計劃強制的目的

引用自:https://dba.stackexchange.com/questions/307232