首頁 >資料庫 >mysql教程 >如何擷取我的 SQL Server Management Studio 查詢歷史記錄?

如何擷取我的 SQL Server Management Studio 查詢歷史記錄?

Patricia Arquette
Patricia Arquette原創
2025-01-15 15:21:47767瀏覽

How Can I Retrieve My SQL Server Management Studio Query History?

還原 SQL Server Management Studio 查詢歷史記錄

在 SQL Server Management Studio (SSMS) 中尋找過去的查詢可能很棘手,因為 SSMS 不會直接將查詢歷史記錄儲存在日誌檔案中。 但是,有幾種方法可以幫助您檢索查詢:

方法一:檢查計畫快取

如果您的 SQL Server 尚未重新啟動且查詢計劃尚未刪除,您可能會在計劃快取中找到它。 使用此 T-SQL 命令,將 '%something unique about your query%' 替換為查詢中的唯一識別碼:

<code class="language-sql">SELECT t.[text]
FROM sys.dm_exec_cached_plans AS p
CROSS APPLY sys.dm_exec_sql_text(p.plan_handle) AS t
WHERE t.[text] LIKE N'%something unique about your query%';</code>

方法 2:檢查復原檔案

如果 SSMS 崩潰並且您遺失了查詢,請在此目錄中搜尋恢復檔案:

<code>C:\Users\<your_username>\Documents\SQL Server Management Studio\Backup Files\</code>

方法三:使用第三方工具或伺服器端追蹤

如果以上方法都失敗,請考慮使用第三方工具,例如SSMS Tools Pack(適用於SQL Server 2012及更早版本)。 或者,實施伺服器端跟踪,透過您的登入名稱或主機名稱進行過濾。

方法四:依執行時間排序結果

要依照上次執行時間組織查詢歷史記錄,請使用此查詢連接 sys.dm_exec_cached_planssys.dm_exec_query_stats,按 last_execution_time:

排序
<code class="language-sql">
SELECT t.[text], s.last_execution_time
FROM sys.dm_exec_cached_plans AS p
INNER JOIN sys.dm_exec_query_stats AS s
   ON p.plan_handle = s.plan_handle
CROSS APPLY sys.dm_exec_sql_text(p.plan_handle) AS t
WHERE t.[text] LIKE N'%something unique about your query%'
ORDER BY s.last_execution_time DESC;
```  Remember to replace `'%something unique about your query%'` with a distinctive part of your query.</code>

以上是如何擷取我的 SQL Server Management Studio 查詢歷史記錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn