广告
返回顶部
首页 > 资讯 > 数据库 >SQL Server超时诊断
  • 669
分享到

SQL Server超时诊断

2024-04-02 19:04:59 669人浏览 薄情痞子
摘要

连接超时对于连接超时,首先可以查看Connectivity Ring Buffer中的LoginTimers类型错误来分析,如果想获得更详尽的信息,再通过抓包工具network monitor。具体方法和语

连接超时


对于连接超时,首先可以查看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    


调优建议


对于连接耗时,当然务必要找到具体原因,是网络问题还是验证问题;对于查询超时,多为语句性能问题导致,如阻塞、未使用合理的索引、输出数据量太大等原因。对于临时解决问题,可以在连接配置里、或在程序里的语句级参数属性调大配置值。当然应及时找出问题的根源并解决。


您可能感兴趣的文档:

--结束END--

本文标题: SQL Server超时诊断

本文链接: https://www.lsjlt.com/news/37600.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SQL Server超时诊断
    连接超时对于连接超时,首先可以查看Connectivity Ring Buffer中的LoginTimers类型错误来分析,如果想获得更详尽的信息,再通过抓包工具network monitor。具体方法和语...
    99+
    2022-10-18
  • 高级DBA之路——《SQL Server 监控和诊断》
    编写各大终端的程序员常常有“SQL语言很简单,DBA工作很轻松”的错觉,用惯了SQLite及其扩展框架OrmLite和GreenDAO的Android程序员更是如此,尤其当一个Android程序员看见自己上...
    99+
    2022-10-18
  • 怎么进行SQL问题的诊断
    这篇文章将为大家详细讲解有关怎么进行SQL问题的诊断,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 问题 诊断 用户反应有一个员工不能设置他的考勤月历了。...
    99+
    2022-10-19
  • SQL SERVER进行日志截断
    如果sql server的日志过大,需要进行日志截断。登陆sql server选择数据库,打开属性,将日志级别从完整调整成简单,点击确定。这时过去很大的log文件就已经失去了作用。再次打开属性,将日志级别从...
    99+
    2022-10-18
  • 怎么诊断SQL中library cache: mutex X等待
    这篇文章主要介绍“怎么诊断SQL中library cache: mutex X等待”,在日常操作中,相信很多人在怎么诊断SQL中library cache: mutex X等待问题上存在疑惑,小编查阅了各式...
    99+
    2022-10-18
  • SQL Server临时表的正确删除方式(sql server 删除临时表)
    目录SQL Server临时表的正确删除方式1、错误的删除操作:2、正确的删除方式:补充:SQL临时表的使用示例删除临时表SQL Server临时表的正确删除方式 临时表与一般的表不同,它是保存到tempDb表中。临时表...
    99+
    2023-02-16
    sql删除临时表 sql临时表使用
  • SQL Server 2016正式版安装(超多图)
    微软数据库SQL Server 2016正式版在2016年6月就发布,由于近期工作忙,一直拖到现在才有时间把安装过程写到博客上,分享给大家。本人一直习惯使用英文版,所以版本和截图都是英文版的。废话少说,转入...
    99+
    2022-10-18
  • SQL Server 磁盘请求超时的833错误原因及解决方法
    今天就跟大家聊聊有关SQL Server 磁盘请求超时的833错误原因及解决方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。最近遇到一个SQL S...
    99+
    2022-10-18
  • SQL server 时间盲注脚本
    一、爆破当前数据库名 #coding:utf-8 import requests import time import string import sys headers = {"user-agent":"Mozilla/4.0 (...
    99+
    2021-05-21
    SQL server 时间盲注脚本 数据库入门 数据库基础教程
  • SQL Server中查询结果超出了查询时间范围解决方法
    废话少说,直接上SQL代码(有兴趣的测试验证一下),下面这个查询语句为什么将2008-11-27的记录查询出来了呢?这个是同事遇到的一个问题,个人设计了一个例子。 USE AdventureWorks2...
    99+
    2022-10-18
  • SQL Server中查询结果超出了查询时间范围的解决方法
    今天就跟大家聊聊有关SQL Server中查询结果超出了查询时间范围的解决方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。废话少说,直接上SQL代...
    99+
    2022-10-19
  • Sql server语句执行时间查看
    declare @begin_date datetimedeclare @end_date datetimeselect @begin_date = getdate()SELECT COUNT(*) AS CNT FROM Stu...
    99+
    2019-01-11
    Sql server语句执行时间查看 数据库入门 数据库基础教程 数据库 mysql
  • SQL server 中怎样使用临时表
    本篇文章给大家分享的是有关SQL server 中怎样使用临时表,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。举例说明一下比较清晰些,先来看下...
    99+
    2022-10-18
  • java连接SQL Server数据库的超详细教程
    目录前言一、sqlserver的配置1、Tcp\Ip 配置2、sql server身份验证配置二、jdbc下载及配置配置环境三、java配置及代码总结 前言 最近数据库大作...
    99+
    2022-11-13
  • SQL Server中GETDATE转换时间时注意事项
      在SQL Server中,有时候查询数据时,需要限定查询时间范围。此时需要对时间进行运算, 如下所示:   USE AdventureWorks2014;GOSELECT  *FROM    HumanResourc...
    99+
    2016-06-25
    SQL Server中GETDATE转换时间时注意事项
  • mybatis设置sql执行时间超时时间的方法
    存在这样的场景,当一些比较耗时的查询时,如果不中断,则会导致数据库堵塞,进而会拖垮整个数据库服务的正常运行。 1.如果你使用的是HikariCP连接池的话,可以在配置文件设置conn...
    99+
    2022-11-13
  • SQL Server中怎么判断文件是否存在
    这期内容当中小编将会给大家带来有关SQL Server中怎么判断文件是否存在,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。删除文件存储过程 ALTER proc [dbo...
    99+
    2022-10-18
  • sql server中如何获取系统时间
    sql server中如何获取系统时间,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Sql Server 中一个非常强大的日期格式化函数: 获...
    99+
    2022-10-18
  • SQL Server中怎么创建定时作业
    本篇文章给大家分享的是有关SQL Server中怎么创建定时作业,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、首先我们打开SQL Serv...
    99+
    2022-10-18
  • SQL Server中怎么截断和收缩事务日志
    SQL Server中怎么截断和收缩事务日志,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。  当SQL Server截断事务日...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作