sqlserver怎么查询历史sql执行记录
短信预约 -IT技能 免费直播动态提醒
在SQL Server中,可以通过查询系统表来获取历史SQL执行记录。以下是一些常用的系统表和视图:
- sys.dm_exec_query_stats:该视图返回有关最近执行的查询的统计信息,包括查询的执行计划、CPU使用情况、内存使用情况等。
SELECT
*
FROM
sys.dm_exec_query_stats
- sys.dm_exec_sql_text:该视图返回有关SQL语句的详细信息,包括SQL文本和语句的执行计划。
SELECT
*
FROM
sys.dm_exec_sql_text(PLAN_HANDLE)
其中PLAN_HANDLE
是从sys.dm_exec_query_stats
视图中获取的执行计划句柄。
- sys.dm_exec_requests:该视图返回有关当前执行的请求的信息,包括正在执行的SQL语句、进度、等待类型等。
SELECT
*
FROM
sys.dm_exec_requests
- sys.dm_exec_sessions:该视图返回有关当前连接到SQL Server的会话的信息,包括会话ID、登录名、应用程序名称等。
SELECT
*
FROM
sys.dm_exec_sessions
- sys.dm_exec_connections:该视图返回有关当前连接到SQL Server的连接的信息,包括连接ID、客户端IP地址、连接状态等。
SELECT
*
FROM
sys.dm_exec_connections
- sys.dm_exec_query_plan:该函数返回给定SQL语句的执行计划。
SELECT
*
FROM
sys.dm_exec_query_plan(PLAN_HANDLE)
其中PLAN_HANDLE
是从sys.dm_exec_query_stats
视图中获取的执行计划句柄。
请注意,这些系统表和视图中的数据只会在SQL Server的内存中保留一段时间,一旦SQL Server重启或者缓存被清空,这些历史记录会丢失。如果需要长期保存历史SQL执行记录,可以考虑使用SQL Server的追踪功能或第三方工具。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341