位置: 编程技术 - 正文

SQL Server 磁盘请求超时的833错误原因及解决方法(sqlserver查看磁盘大小)

编辑:rootadmin

推荐整理分享SQL Server 磁盘请求超时的833错误原因及解决方法(sqlserver查看磁盘大小),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:安装sql server2012显示磁盘满了,sqlserver占用磁盘活动过大,安装sql server2012显示磁盘满了,sqlserver数据库磁盘满了,sqlserver查看磁盘大小,sqlserver数据库磁盘满了,sql server 磁盘空间不足,sqlserver占用磁盘活动过大,内容如对您有帮助,希望把文章链接给更多的朋友!

最近遇到一个SQL Server服务器响应极度缓慢,并且出现客户端请求报错的情况,在数据库中的errorlog中出现磁盘请求超过s才完成的error消息。

对于此类问题,到底是存储系统或者磁盘的故障,还是SQL Server 自己的问题,亦或是应用程序引发的呢?又要如何解决?

本文将对引起此问题的某一方面的因素进行简单的分析,但是无法涵盖所有潜在的可能性,因此遇到类似问题还要做具体的分析。

SQL Server中的磁盘请求超时

  该错误的英文版的错误信息如下:

  SQL Server has encountered %d occurrence(s) of I/O requests taking longer than %d seconds to complete on file [%ls] in database id %d. The OS file handle is 0x%p. 0  The offset of the latest long I/O is: %#Ix

  中文版的错误信息如下

  SQL Server 已遇到 %1! 次对数据库 ID %4! 中的文件 [%3!] 进行的 I/O 请求超过 %2! 秒才完成。操作系统文件句柄为 0x%5!。最新的长时间 I/O 的偏移量为: %6!

  参考message信息中的号错误消息

具体的 error 申请磁盘请求超时现象

  具体报错情况如下:

  SQL Server 已遇到 m 次对数据库 n 中的文件***进行的 I/O 请求超过 秒才完成。操作系统文件句柄为 ***。最新的长时间 I/O 的偏移量为: ***

  也就是说在数据库的文件自动增长的过程中遇到了错误。

  

  

  比较有意思的是某DBA将此错误信息报告给负责存储(SAN存储,并非挂的磁盘)的工程师,认为是可能存储系统存在故障或者不稳定造成的,

  存储工程师认为存储没有问题,检查服务器后说服务器不正常,内存“几乎占满”,对于数据库服务器,内存“几乎占满”的情况可以说是完全正常的,鉴于负责存储的工程师并非专业DBA,对于SQL Server数据库服务器的内存使用可能不是太了解,提出此疑问也可以理解。

  因为数据库服务器使用的存储是高性能的SAN存储,存储是作为一个服务存在的,有N多服务器共同来使用的,其他服务器并没有出现磁盘请求,不太可能说某一台服务器会出现疑似“存储故障”就简单认定为是存储故障。

SQL Server 磁盘请求超时的833错误原因及解决方法(sqlserver查看磁盘大小)

  那么究竟原因在什么地方呢?

数据库引擎错误的含义

  首先来看这个错误的具体含义是什么,就不自己装解释一通了,那本经典的书上写的很清楚了。

  总之,意思就是,SQL Server在请求磁盘读写的时候,遇到磁盘繁忙或者其他一些因素,超过了秒还没有完成  比如数据的读写的时候需要向磁盘发起请求,而磁盘正忙或者其他问题,来不及或者相应的不够及时,这样无疑会严重影响SQL Server对外提供服务器的响应时间。

  上面简单分析了,因为该问题并非普片发生的,存储系统不太可能出现问题,那就很有可能定位到当前服务器自身的因素了。

原因分析

  因为是专门的SQL Server服务器,没有其他应用程序的请求,很有可能跟向sqlserver数据库发起的请求有关。

  其实发生这个问题之前,早就有预兆了,平时还算稳定的服务器(CPU很少超过%,内存的PLE也可以稳定在分钟以上,磁盘IO延迟较低等等),只是偶尔会存在抽风一阵子的情况

  抽风的时候表现为CPU狂飙到%左右,内存的PLE会严重下降,IO延迟严重增高。

  现在只能从SQL Server的Session入手,在观察SQL Server中的活动Session的时候,发现某一类的SQL语句的查询时间非常长,  平时这类SQL在某一个时间段内执行的频率还算比较高。

  但是正常情况下,这类SQL的执行效率还是比较高的,为什么突然就变的非常之底?

  在检查活动Session的对应的执行计划的时候,发现这类活动Session的等待状态都是IO等待(PAGEIOLATCH_SH),同时SQL的执行完全是意料之外的执行方式。

  因为类似查询还是执行的比较频繁的,此类Session会从不同的客户端发起,一旦SQL的执行效率降下来,服务器上会积压大量的活动Session

  为什么平时执行的好好的SQL语句突然就变的很慢很慢,

  原因就在于在某一点,SQL Server自动触发了统计信息的更新,但是这是一个比较大的表,但是默认统计信息更新的取样比例是不够的,如果取样百分比不够,这个统计信息完全是不可用的。

  一旦自动收集统计信息完成之后,会根据当前收集到的统计信息,向之前的SQL语句发出一种它认为高效的方式(table scan而不是index seek),其实这种方式并非是合理的,  由此引发对应的SQL利用一种并非合理的执行计划来实现查询,同时会引发Session的拥堵,客户端发过来大量的Session同时在利用一种低效的方式缓慢执行。

  所以CPU会飙升,IO延迟增加,内存的PLE严重下降。

  由此也不难理解,数十个查询的Session正在以一种不合理的方式疯狂地想磁盘发出请求,磁盘正在忙于活动Session的数据请求,出现无法响应因为数据或者索引文件的自动增长请求,造成一开始说的问题。

  最后经过索引重建(促使统计信息更新,当然纯粹的统计信息更新也可以)解决,长期预防的话,需要安排job人为地定义统计信息更新的阈值以及取样百分比。

总结:

  数据库服务器上的问题,很多问题都是一个连锁反应的过程,对应观察到的一部分现象,很有可能并不是表面上的反应的那样(磁盘请求超时,问题出在存储上?)  专业的位置上必须要有专业的素养,比如一开始DBA误以为是存储问题,存储工程师认为服务器内存用满了是不正常的等,其实都不是问题的根本原因所在。  面对问题,要追本溯源,找出来最根本的原因,才是解决问题的关键。

MySQL 数据库 source 命令详解及实例 MySQL数据库source命令详解及实例MySQL数据库source命令,该命令是数据库导入命令。source命令的用法非常简单,首先你需要进入MySQL数据库的命令行管理界

SQL Server Alert发送告警邮件少了的原因 最近突然发现我们部署在数据库上面的告警(Alert),当错误日志里面出现错误时,并不是每个错误日志都会发送邮件出来。如下所示,设置了告警SQLSer

分享一下SQL Server执行动态SQL的正确方式 SQLServer执行动态SQL的话,应该如何实现呢下面就为您介绍SQLServer执行动态SQL两种正确方式,希望可以让您对SQLServer执行动态SQL有更深的了解动态SQL:codethatise

标签: sqlserver查看磁盘大小

本文链接地址:https://www.jiuchutong.com/biancheng/347057.html 转载请保留说明!

上一篇:Sql Server 存储过程调用存储过程接收输出参数返回值(sql server 存储过程 超时)

下一篇:MySQL 数据库 source 命令详解及实例(Mysql 数据库 拷贝 原文件)

  • 土地取得方式有哪些
  • 车票增值税抵扣如何申报
  • 公司固定资产抵税
  • 合并报表存货增值如何做账
  • 水电费专用发票税率
  • 增值税附加计入什么科目
  • 预缴税款如何抵扣苗木款
  • 更换税控盘后原发票如何导入旧盘开票税局
  • 小规模开普票多少税点
  • 砂石行业一般纳税人税率多少?能简易征收吗?
  • 不动产什么时候可以抵扣进项税额
  • 境外企业所得税税率
  • 中外合作合资
  • 企业的技术转让费
  • 工会经费和职工教育经费比例
  • 网上缴税后会有发票吗
  • 报销餐费有增值税吗
  • 收到投资者购买股票的资金
  • 劳务公司计提工资怎么算
  • 行政单位的存货是什么
  • 材料采购成本差异属于什么科目
  • 工厂采购原材料销售给外贸公司
  • 增值税专用发票利润怎么交税
  • 固定资产提前报废
  • 资产处置损益和营业外收支的区别和联系
  • 资产评估入账的评估报告
  • 专项应付款转资本公积需要什么附件
  • 固定资产核销怎么做
  • 贷款买车的利息是多少3年
  • 招待客户住宿费可以抵扣进项税吗合理吗
  • 软件开发行业的现状
  • Mtdacq.exe - Mtdacq是什么进程 有什么用
  • 2020香港回归23年
  • 商业会计做账
  • 企业亏损注销税务会不会来查账
  • phpseessid
  • 小企业会计准则和一般企业会计准则的区别
  • php获取当前定位
  • uniapp scroll-view 上下滑动
  • 数学建模 比赛
  • 小型微利企业减按25%计算应纳税所得额
  • 工程物资的税率怎么算
  • 留购价计入什么费
  • java中file的用法
  • 织梦前台的菜单怎么换
  • 未分配利润与净利润有关系吗
  • 负数发票是可以抵扣吗
  • 公司什么项目
  • 收到质量赔款涉税处理
  • 其他应付款怎么处理
  • 预收款开票后如何做账
  • 母子公司往来款属于借款吗
  • 存款基准利率是不是利息
  • 建筑单位工伤缴费标准
  • 单位代扣代缴个人所得税凭证
  • 新成立公司申报个税流程
  • 在计划管理中根据事实思考这一步的内容是
  • 固定资产报废属于非流动资产处置损失吗
  • 会计准则应收账款计提坏账
  • pc版直通车
  • 无法ping通虚拟机
  • windows10玩lol有延迟怎么办
  • linux 更新yum
  • win10预览版好吗
  • win7的屏幕键盘
  • Win10 UWP红石版应用商店迎来更新:查找更新再换位置
  • netddeclnt.exe - netddeclnt是什么进程 有什么用
  • js表单生成器动手实践
  • shell脚本实现文件移动、复制等操作
  • jquery获取元素css
  • unity learning
  • unity3d物理现象模拟
  • js如何使用cookie
  • 白盘怎么开具红字专用发票
  • 广东 电子税局 app
  • 江苏国税申报怎么操作流程
  • 电子税务网没开通怎么办
  • 什么情况适用简易诉讼程序
  • 铜梁在重庆主城哪个方向
  • 企业申报系统网址
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设