在SQL Server中,可以通過查詢系統表來獲取歷史SQL執行記錄。以下是一些常用的系統表和視圖:
SELECT
*
FROM
sys.dm_exec_query_stats
SELECT
*
FROM
sys.dm_exec_sql_text(PLAN_HANDLE)
其中PLAN_HANDLE
是從sys.dm_exec_query_stats
視圖中獲取的執行計劃句柄。
SELECT
*
FROM
sys.dm_exec_requests
SELECT
*
FROM
sys.dm_exec_sessions
SELECT
*
FROM
sys.dm_exec_connections
SELECT
*
FROM
sys.dm_exec_query_plan(PLAN_HANDLE)
其中PLAN_HANDLE
是從sys.dm_exec_query_stats
視圖中獲取的執行計劃句柄。
請注意,這些系統表和視圖中的數據只會在SQL Server的內存中保留一段時間,一旦SQL Server重啟或者緩存被清空,這些歷史記錄會丟失。如果需要長期保存歷史SQL執行記錄,可以考慮使用SQL Server的追蹤功能或第三方工具。