背景

  今天早上11点的时候有客户打电话过来说医院的cis系统一直有阻塞,导致系统有卡慢的现象,信息中心的电话都快被打爆了,信息科人员很头疼啊。

万幸我们给数据库装了‘摄像头’会把数据库的一切状态操作都会记录下来,赶紧要了远程之后看到了系统确实存在大量的阻塞(下图)

通过点击紫色圆点之后发现了长长的阻塞链,(注:会话标识33的语句是阻塞的源头,下面的语句为被阻塞的语句)可以看到被阻塞的语句确实等待了很长时间,系统因为大量的阻塞,前端人员的使用确实有卡慢的现象。(下图)

那么系统为什么会有这么严重的阻塞呢?怎么造成的?会话标识为33的语句到底是何方神圣?接下来我们来一探究竟。

在sql server 管理工具里边用语句查询会话标识为33的语句为自动收缩的命令,看了看时间从2018年8月15号自动收缩已经开始运行,进度为79%,(下图)

接下来从体检项中可以看到相关数据库自动收缩配置为开启状态。

通过和医院工程师交流得知,昨天下午三点半有做过数据迁移的操作,删除了100多G的数据,(下图)

经过分析和查询一些资料得出以下结论,数据库中的自动收缩选项在很早之前就已经开启,但是没有真正收缩过,昨天下午三点的时候删除了大量数据,触发了自动收缩数据库文件的操作,

那么为什么今天早上才有阻塞的情况呢?收缩数据库对于sql server来说本身就是一件浪费资源的事情,在昨天下午三点半的时候前端业务量减小,没有影响到业务,而到了今天早上业务量增多,达到业务高峰期,才会把业务相关的语句阻塞住,严重影响了前端人员的使用。

如何缓解及解决?

因为在收缩数据文件,要重新整理数据,进度到了79%,在这个自动过程中,数据边收缩边释放,到达100%后收缩完成后,此问题会解决。另外一种方法就是重启sql服务,事务会提交或回滚,此问题也会得到解决(不建议)

下面来点技术性的东西,满足一下求知者的欲望……….

什么是自动收缩?

随着数据量的增加数据库的设备文件(MDF\LDF)会不断增长,当数据库中的某些数据删除,数据库设备文件的大小并不会随着数据量的减少而减少,数据库设备需要占用的磁盘空间就没那么大了,这时候自动收缩就可以释放出磁盘空间,主要直观体现在数据库设备文件的大小上,避免资源的浪费.

在什么条件下会触发?

在开启自动收缩选项的情况下,SQL Server定期会检查文件使用情况。如果空闲空间大于25%,SQL Server就会自动运行自动收缩数据库文件的动作。

(附上微软官方链接:https://docs.microsoft.com/zh-cn/sql/t-sql/statements/alter-database-transact-sql-set-options?view=sql-server-2017&viewFallbackFrom=sql-server-2014)

例如:数据迁移删除大量数据时,空闲空间大于25%时,会触发自动收缩功能。

带来的危害(自动收缩和手动收缩)?

对于一个磁盘空间很紧张的系统,这个设置无疑是有帮助的。但是从数据库自身的健康和性能考虑,这个设置并不建议多用。这是因为:

1、数据文件收缩导致了索引的完全碎片化,索引的效率大大降低,严重影响性能。

2、数据文件的收缩同样产生了大量的I/O操作,耗费大量的CPU资源,性能下降。

3、在业务高峰期的时候可能会造成大量的阻塞。

(附上链接资料,有兴趣的同学可以去研究一下:

https://www.cnblogs.com/kerrycode/archive/2013/06/04/3116339.html )

一点点小建议:

1、不要开启自动收缩选项

2、不到万不得已,千万不要收缩数据库。收缩数据库影响极大。

3、如果磁盘空间真的不足,需要做收缩的时候,一定要手工来做,而且是在维护窗口期间;并且尽量使用语句来执行,可以提示错误;尽量一次不要收缩太多,分几次收缩。

转载于:https://www.cnblogs.com/double-K/p/10621461.html

数据库自动收缩带来的严重问题相关推荐

  1. 数据库自动收缩造成的阻塞

    背景 今天上午11点时客户打电话过来说医院的CIS系统一直有阻塞,导致系统卡慢严重,信息中心的电话都快被打爆了.赶紧要了远程登录到SQL专家云,看到了系统确实存在大量的阻塞. 点击紫色圆点进入活动会话 ...

  2. mysql 数据库怎么收缩_SQL Server -- 数据收缩详解

    1. 数据库的相关属性 在MS中创建数据库时会为数据库分配初始的大小(如下图:数据库和日志两个文件),随着数据库的使用文件会逐渐增大.数据库文件大小的增加有两种方式: 自动增长:在自动增长中可以设置每 ...

  3. 《SQL Server企业级平台管理实践》读书笔记——SQL Server如何设置自动增长和自动收缩项...

    SQL Server允许用户设置数据库初始值和最大值,可以通过自动增长或者自动收缩进行配置.通过这些配置,我们可以防止数据库空间问题而导致的应用程序修改失败或者SQL Server磁盘空间耗尽的事情发 ...

  4. 压缩SQL数据库日志-收缩SQL数据库日志-备份SQL数据库日志-删除SQL数据库日志

    [标题]压缩SQL数据库日志-收缩SQL数据库日志-备份SQL数据库日志-删除SQL数据库日志  [内容]         清除SQL数据库日志文件        有两种方式: 一.是压缩日志,二.是 ...

  5. 数据库自治服务DAS论文入选全球顶会SIGMOD,领航“数据库自动驾驶”新时代

    简介:近日,智能数据库和DAS团队研发的智能调参ResTune系统论文被SIGMOD 2021录用,SIGMOD是数据库三大顶会之首,是三大顶会中唯一一个Double Blind Review的,其权 ...

  6. 数据库自治服务DAS年度新版本:”数据库自动驾驶“进入规模化时代

    简介:在今天的发布会上,针对用户的核心痛点,DAS新发布了8大核心自治功能,包括7x24小时异常检测.自动SQL限流.自动SQL优化.自动空间优化.自动弹性伸缩.智能调参.智能压测.实时审计等,为企业 ...

  7. 因“智”而治,数据库自动驾驶时代大门即将开启!

    数据库自治服务DAS即将重磅发布 点我立即预约直播 DAS精彩详情 因"智"而治,数据库即将迈入自动驾驶时代 4月22日 15:00 - 16:30 期待与你一同见证精彩蜕变 随着 ...

  8. 阿里云数据库产品专家胡航丽:数据库自动驾驶平台DAS重磅助力数据库领域智能未来...

    墨墨导读:2020数据技术嘉年华于11月21日落下帷幕,大会历时两天,来自全国各地的数据领域学术精英.领袖人物.技术专家.从业者和技术爱好者相聚北京,见证了个人的快速成长.技术的迭代进步.行业的蓬勃发 ...

  9. SQL Server 数据库之收缩数据库和文件

    收缩数据库和文件 1. 概述 2. 自动收缩数据库 3. 手动收缩数据库 4. 手动收缩文件 1. 概述 当数据库随着时间而越来越大时,可对数据库进行收缩操作: 收缩数据文件通过将数据页从文件末尾移动 ...

最新文章

  1. 速查笔记(Linux Shell编程上)
  2. Spring 事务底层原理,你会了吗?
  3. 阿里云叔同:以容器为代表的云原生技术,已经成为释放云价值的最短路径
  4. SAP系统的配置传输分为两种情况:
  5. parasoft Jtest 使用教程:防止特定应用错误的再次发生
  6. Swift4.1第二章 The Basics
  7. html js清除缓存,js清除浏览器缓存的几种方法
  8. 前端学习(3032):vue+element今日头条管理-反馈
  9. Spring-aop-AnnotationAwareAspectJAutoProxyCreator类
  10. 手机开热点但是电脑一直连接不上_电脑无法连接手机开的热点怎么解决
  11. python实现ORC/文字识别之pytesseract
  12. php实现图片加密,PHP实现支持加盐的图片加密解密.pdf
  13. 关于SAP的用户出口
  14. aardio - f()函数通过变量名将变量值整合到一串文本中
  15. 2017-2018 ACM-ICPC, Asia Daejeon Regional Contest:Gym 101667B
  16. 自用笔记44——基姆拉尔森公式和字符串数组
  17. rpm包是什么?怎么解压?
  18. 日语学习资料-N4(免费下载)
  19. How to Flash a ROM to Your Android Phone
  20. 从用户反馈看简书APP

热门文章

  1. ecs服务器配置git_基于ECS和NAS搭建个人网盘
  2. “万能钥匙”可以释放大脑:脑刺激个性化医疗的新领域
  3. 索尼:声控将在VR中发挥大作用
  4. 微软图像加密算法被破解,谷歌等大厂都在用,MIT硕士小哥开源逆向所用方法...
  5. 在杭州,我们逛了一家“数据博物馆”
  6. 周鸿祎:网络安全不是一门“卖货”的生意
  7. 马斯克“口无遮拦”发推特又挨批,被指无视法院命令
  8. 北理工校友发明文言文“填词大师”,断句、造词都能做,高考文言文满分靠它了...
  9. 孙正义太难了:去年亏125亿美元,15家投资公司要破产,二期愿景基金不得不暂停...
  10. 微软Excel竟能实现CV算法:亚马逊工程师妙用,人脸检测、字符识别都不在话下...