SQL 服务器:查找以前历史查询的事务级别
SQL Server: Find Transaction Level of Previous Historical Queries
如何在 SQL 服务器中找到以前 运行 历史查询的事务级别?这仅适用于当前 运行ning 个查询。
SELECT session_id, start_time, status,
total_elapsed_time,
CASE transaction_isolation_level
WHEN 1 THEN 'ReadUncomitted'
WHEN 2 THEN 'ReadCommitted'
WHEN 3 THEN 'Repeatable'
WHEN 4 THEN 'Serializable'
WHEN 5 THEN 'Snapshot'
ELSE 'Unspecified' END AS transaction_isolation_level,
sh.text, ph.query_plan
FROM sys.dm_exec_requests
CROSS APPLY sys.dm_exec_sql_text(sql_handle) sh
CROSS APPLY sys.dm_exec_query_plan(plan_handle) ph
目前正在使用 Sql 服务器 2019。
这在标准配置下是不可能的
你唯一的选择是
- 创建一个跟踪它的扩展事件会话
- 启用查询存储并从计划中读取信息
- 使用 Profiler 设置跟踪
如何在 SQL 服务器中找到以前 运行 历史查询的事务级别?这仅适用于当前 运行ning 个查询。
SELECT session_id, start_time, status,
total_elapsed_time,
CASE transaction_isolation_level
WHEN 1 THEN 'ReadUncomitted'
WHEN 2 THEN 'ReadCommitted'
WHEN 3 THEN 'Repeatable'
WHEN 4 THEN 'Serializable'
WHEN 5 THEN 'Snapshot'
ELSE 'Unspecified' END AS transaction_isolation_level,
sh.text, ph.query_plan
FROM sys.dm_exec_requests
CROSS APPLY sys.dm_exec_sql_text(sql_handle) sh
CROSS APPLY sys.dm_exec_query_plan(plan_handle) ph
目前正在使用 Sql 服务器 2019。
这在标准配置下是不可能的
你唯一的选择是
- 创建一个跟踪它的扩展事件会话
- 启用查询存储并从计划中读取信息
- 使用 Profiler 设置跟踪