SQL Server超时诊断
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,连接超时对于连接超时,首先可以查看Connectivity Ring Buffer中的LoginTimers类型错误来分析,如果想获得更详尽的信息,再通过抓包工具network monitor。具体方
千家信息网最后更新 2026年11月01日SQL Server超时诊断
连接超时
对于连接超时,首先可以查看Connectivity Ring Buffer中的LoginTimers类型错误来分析,如果想获得更详尽的信息,再通过抓包工具network monitor。
具体方法和语句可参考以下文章:
https://blogs.msdn.microsoft.com/apgcdsd/2011/11/20/ring-buffersql-server-2008/
http://ultrasql.blog.51cto.com/9591438/1583446
查询超时
对于查询超时,针对SQL Server 2012以下的版本,使用Profiler的TSQL_Duration模板的基础上,添加"Errors and Warnings"下的"Attention",根据捕获到的Attention结合上下文去查找相应的语句;对于SQL Server 2012及以上版本,直接使用扩展事件监控sqlserver.attention事件,直接输出sql_text。
以下为XE脚本:
use tempdb go if exists (select * from sys.objects where name = 'sqlws_xev_attention') drop view sqlws_xev_attention go create view sqlws_xev_attention as with xevents (event_data) as ( select event.query('.') as event_data from ((select cast (xest.target_data as xml) as target_data from sys.dm_xe_sessions as xes inner join sys.dm_xe_session_targets as xest on (xes.address = xest.event_session_address) where xes.name = 'sqlws_xevents_attention' and xest.target_name = 'ring_buffer') as td cross apply target_data.nodes ('//event[@name="attention"]') as x (event)) ) select event_data.value ('(event/@name)[1]', 'varchar(max)') as event_name, event_data.value ('(event/@timestamp)[1]', 'datetime') as event_timestamp, event_data.value ('(event/data[@name="duration"]/value)[1]', 'bigint') as [duration], event_data.value ('(event/data[@name="request_id"]/value)[1]', 'int') as [request_id], event_data.value ('(event/action[@name="client_app_name"]/value)[1]', 'nvarchar(max)') as action_client_app_name, event_data.value ('(event/action[@name="client_hostname"]/value)[1]', 'nvarchar(max)') as action_client_hostname, event_data.value ('(event/action[@name="database_name"]/value)[1]', 'nvarchar(max)') as action_database_name, event_data.value ('(event/action[@name="nt_username"]/value)[1]', 'nvarchar(max)') as action_nt_username, event_data.value ('(event/action[@name="session_id"]/value)[1]', 'int') as action_session_id, event_data.value ('(event/action[@name="sql_text"]/value)[1]', 'nvarchar(max)') as action_sql_text from xevents go if exists (select * from sys.server_event_sessions where name = 'sqlws_xevents_attention') drop event session sqlws_xevents_attention on server go create event session sqlws_xevents_attention on server add event sqlserver.attention (action (sqlserver.client_app_name, sqlserver.client_hostname, sqlserver.database_name, sqlserver.nt_username, sqlserver.session_id, sqlserver.sql_text) where duration > 5000 ) add target package0.ring_buffer with (event_retention_mode = ALLOW_SINGLE_EVENT_LOSS, memory_partition_mode = NONE) go /* alter event session sqlws_xevents_attention on server state = start go --Execute your workload with xevents (event_name) as ( select event.value ('(@name)[1]', 'varchar(max)') as event_name from ((select cast (xest.target_data as xml) as target_data from sys.dm_xe_sessions as xes inner join sys.dm_xe_session_targets as xest on (xes.address = xest.event_session_address) where xes.name = 'sqlws_xevents_attention' and xest.target_name = 'ring_buffer') as td cross apply target_data.nodes ('//event[@name="attention"]') as x (event)) ) select event_name, count(*) from xevents group by event_name go select * from sqlws_xev_attention go alter event session sqlws_xevents_attention on server state = stop go */调优建议
对于连接耗时,当然务必要找到具体原因,是网络问题还是验证问题;对于查询超时,多为语句性能问题导致,如阻塞、未使用合理的索引、输出数据量太大等原因。对于临时解决问题,可以在连接配置里、或在程序里的语句级参数属性调大配置值。当然应及时找出问题的根源并解决。
问题
语句
查询
事件
原因
版本
输出
配置
详尽
上下
上下文
信息
参数
基础
属性
工具
建议
性能
数据
文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
精品咖啡豆
互联网高科技
互联网金融与金融科技
喔噻互联网科技
奇士达互联网科技
互联网 视角下的科技创新
互联网科技宣传片
哈尔滨秒房互联网科技有限公司
华中科技有哪些互联网大佬
新华互联网科技2019
互联网科技人工智能实验室
特约风豹互联网科技为什么扣费
皮皮虾互联网科技有限公司
互联网科技年终奖
互联网界的黑科技
悟空问答互联网科技
互联网科技对化妆品行业
陕西彩京云互联网科技有限公司
互联网科技创新方面的资料
现代科技的标志之一的互联网
互联网 科技创业
互联网科技英文翻译
佰商互联网科技有限公司
青海省互联网新科技
中国科技互联网公司收入
昊天互联网科技有限公司
开一家科技互联网公司需要多少钱
广西互联网科技孵化中心
互联网科技人工智能实验室
乌鲁木齐新华智原互联网科技学校