tempdb数据文件暴增分析
背景
某客户tempdb数据文件突然暴增,导致磁盘可用空间紧张,让我们找到暴增的原因。
现象
登录到SQL专家云,通过趋势分析进行回溯,在4月12日,tempdb数据文件在3个小时内从10GB涨到了80GB。随后使用空间(黄线)下降,但是总空间(蓝线)保持不变。

进一步查看发现暴增的为tempdb内部对象。

分析
微软官方文档对tempdb的详细描述如下图,原文链接:https://docs.microsoft.com/zh-cn/sql/relational-databases/databases/tempdb-database?view=sql-server-ver15

在活动会话页面看到对应时间段内在运行很多个消耗大、运行时间长的语句。

进入ID为61的会话完整信息,可以看到该会话内部对象释放空间达到了27G左右。是集团报表产生的查询语句,十分复杂,里面用到了大量的jion、union、order by、子查询等,都会消耗tempdb的内部对象空间。其他的会话也是相同的语句。

定位到语句后就很容易找到原因,以前都是选择一个月的时间进行统计,这次因为误操作,选择了一年的时间,执行时间长导致页面一直没有返回,所以操作人员重复进行查询,造成了同时运行多个相同的语句。
解决
重启SQL Server服务把tempdb恢复到初始大小;
发现SQL语句写法存在严重的性能问题,进行优化后,性能得到十几倍的提升;
完善程序,例如限制时间的选择,不允许重复点击按钮等。
tempdb数据文件暴增分析的更多相关文章
- tempdb日志文件暴增分析
背景 某医院信息科接到CIS系统磁盘空间不足告警,通过排查发现tempdb的日志文件暴增,已经涨到了130G左右,并且还在持续增长中.需要我们紧急排查原因. 现象 登陆到服务器里,确实看到了如上所说, ...
- SqlServer 2008的tempdb数据文件大小暴增处理
tempdb数据文件暴增,导致服务器磁盘空间被耗尽! 1.查看tempdb的使用分配情况 use tempdb go SELECT top 10 t1.session_id, t1.internal_ ...
- 数据库实战案例—————记一次TempDB暴增的问题排查
前言 很多时候数据库的TempDB.日志等文件的暴增可能导致磁盘空间被占满,如果日常配置不到位,往往会导致数据库故障,业务被迫中断. 这种文件暴增很难排查,经验不足的一些运维人员可能更是无法排查具体原 ...
- 数据库运维之路——关于tempdb暴增实战案例
转眼间,2021年的第一个季度已经到了最后一个月了,由于疫情原因,最近一段时间一直在北京,基本上没有出差,每天上班下班的日子感觉时间过的好快,新的一年继续努力奋斗啊. 仔细回想一下,自己踏入到sql ...
- 浅谈Oracle中物理结构(数据文件等。。。)与逻辑结构(表空间等。。。。。)
初始Oracle时很难理解其中的物理结构和逻辑结构,不明白内存中和硬盘中文件的区别和联系,我也是初学Oracle,这里就简单的谈谈我我看法. 首先,你需要明白的一点是:数据库的物理结构是由数据库的操作 ...
- Oracle 表空间和数据文件之间的关系
首先,你需要明白的一点是:数据库的物理结构是由数据库的操作系统文件所决定,每一个Oracle数据库是由三种类型的文件组成:数据文件.日志文件和控制文件.数据库的文件为数据库信息提供真正的物理存储. 每 ...
- Oracle的表空间、数据文件、用户
每一个Oracle数据库都是由三种类型的文件组成:数据文件(Data File).日志文件(Log File)和控制文件(Control File).数据库的文件为数据库信息提供真正的物理 ...
- 故障排查实战案例——某电器ERP系统日志暴增
前言 本篇文章写在新春佳节前夕,也是给IT运维朋友一个警醒,在春节长假前请妥善体检自己的系统安心过个年. 千里之堤毁于蚁穴,一条看似简单的语句就能拖垮整个系统,您的SQL Server很久没体检了吧? ...
- Windows phone 8 学习笔记(2) 数据文件操作(转)
Windows phone 8 应用用于数据文件存储访问的位置仅仅限于安装文件夹.本地文件夹(独立存储空间).媒体库和SD卡四个地方.本节主要讲解它们的用法以及相关限制性.另外包括本地数据库的使用方式 ...
随机推荐
- 知识图谱顶会论文(IJCAI-2022) TEMP:多跳推理的类型感知嵌入
IJCAI-TEMP:知识图谱上多跳推理的类型感知嵌入 论文地址: Type-aware Embeddings for Multi-Hop Reasoning over Knowledge Graph ...
- RAID5部署
软RAID与备份盘 1.此处我们还用刚才的4块盘做演示,三块盘做raid,一块盘做备份盘,防止磁盘故障 我们以raid 5 来配置三块磁盘 加上一块备份盘 [root@local-pyyu tmp]# ...
- Spring Core rce漏洞分析(CVE-2022-22965)
漏洞描述: Springmvc框架参数绑定功能,绑定了请求里的参数造成变量注入,攻击者可以实现任意文件写入,漏洞点spring-beans包中. 漏洞编号: CVE-2022-22965 影响范围: ...
- ML-决策树
信息增益 香农熵: 指混乱程度,越混乱,值越大 信息增益(information gain): 在划分数据集前后信息发生的变化称为信息增益(香农熵的差) 基尼不纯度也可度量集合的无序程度 香农熵的计算 ...
- 利用nginx自带的反向代理以及轮询功能实现应用的负载均衡
针对中间件部署的应用(war包),可使用nginx自带的反向代理以及轮询功能,实现应用的负载均衡. 一.架构图 二.环境准备 准备2套环境,如19.1.0.18:7001,19.1.0.16:7001 ...
- perl chmod
chmod函数改变一列文件的权限.列表的第一个元素必须是数字模式.chmod函数返回成功改变了的文件的数目.如: $cnt = chmod 0755, 'file1', 'file2'; 其中最前面 ...
- windows查看端口和杀掉端口
//执行下面命令 netstat --help 获取netstat的所有命令参数 //例如查看8080端口占用 netstat -ano | findstr 8080 //查看该端口是什么 taskl ...
- 【云原生 · Kubernetes】Taint和Toleration(污点和容忍)
个人名片: 因为云计算成为了监控工程师 个人博客:念舒_C.ying CSDN主页️:念舒_C.ying Taint和Toleration(污点和容忍) 概念 添加多个tainit(污点) 使用例子 ...
- 数据结构(二):括号匹配(C++,栈)
好家伙,写题,题目代码在最后 来吧, 1.栈 栈(stack)又名堆栈,它是一种运算受限的线性表.限定仅在表尾进行插入和删除操作的线性表. 这一端被称为栈顶,相对地,把另一端称为栈底. 向一个栈插入新 ...
- Linux和shell面试内容
一.Linux 1.列出5个常用高级命令 ps -ef ps -aux df -h top io top xargs tail uptime netstat 2.查看磁盘使用情况.查看进程.查看端口号 ...