在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的追踪功能或第三方工具。