Sql-Server
伺服器重啟後查詢儲存強制計劃是否仍然存在?
想問一下,因為找不到這個資訊。
伺服器重啟後查詢儲存強制計劃是否仍然存在?
在哪些情況下,通過查詢儲存強制執行計劃不會保持有效?
是的,強制計劃在伺服器重新啟動時起作用。這是因為有關計劃強制的資訊儲存在數據庫中,並與其他使用者數據一起保存在磁碟上。您可以在查詢儲存 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)
其他一些更平凡的原因可能是
- 強制計劃已從查詢儲存數據中清除(因為自動清理,或者有人手動清除查詢儲存),或者
- 查詢在可讀的輔助節點上執行(計劃強制不適用),或者
- 查詢文本以某種方式更改,導致它獲得新的查詢雜湊,因此不再匹配用於計劃強制的目的