首页 > 其他分享 >tempdb数据文件暴增分析

tempdb数据文件暴增分析

时间:2022-11-10 10:58:26浏览次数:34  
标签:暴增 语句 tempdb 数据文件 SQL 空间

背景

某客户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的内部对象空间。其他的会话也是相同的语句。

 

 

定位到语句后就很容易找到原因,以前都是选择一个月的时间进行统计,这次因为误操作,选择了一年的时间,执行时间长导致页面一直没有返回,所以操作人员重复进行查询,造成了同时运行多个相同的语句。

解决

    1. 重启SQL Server服务把tempdb恢复到初始大小;

    2. 发现SQL语句写法存在严重的性能问题,进行优化后,性能得到十几倍的提升;

    3. 完善程序,例如限制时间的选择,不允许重复点击按钮等。

 

标签:暴增,语句,tempdb,数据文件,SQL,空间
From: https://www.cnblogs.com/zhuancloud/p/16876333.html

相关文章

  • tempdb日志文件暴增分析
    背景某医院信息科接到CIS系统磁盘空间不足告警,通过排查发现tempdb的日志文件暴增,已经涨到了130G左右,并且还在持续增长中。需要我们紧急排查原因。现象登陆到服务器里,确......
  • 修改Outlook中IMAP配置邮箱数据文件保存位置
    Outlook中邮件的iMap数据文件通常默认为C盘某个文件夹,由于邮件会越来越多,所以要将数据文件的保存位置换到其他盘中。工具/原料Outlook软件(2010,2013,2016)方法/步骤在“......
  • 定时备份测试平台的mysql数据文件
    背景定时备份ATP的Mysql数据,一周一次,仅保留2个月数据(8次)解决步骤思路编写shell脚本实现备份功能,后加上定时任务第一部分(shell脚本)#!/bin/bash#定义mysql的......
  • 一个瞬间让你的代码量暴增的脚本
    1功能概述在某些特殊情况下,需要凑齐一定的代码量,或者一定的提交次数,为了应急不得不采用一些非常规的手段来保证达标。本文分享的是一段自动提交代码的脚本,用于凑齐coderev......
  • 电脑内存暴增突然死机idea 文件崩溃导致文件乱码恢复方法
    问题描述 电脑长时间不关机,突然死机,重启电脑后发现该项目的git仓库不能使用了,代码在本地分支,未push到远程分支。并且idea乱码 gitstatus时报错:fatal:notagit......
  • 是什么让.NET7的Min和Max方法性能暴增了45倍?
    简介在之前的一篇文章.NET性能系列文章一:.NET7的性能改进中我们聊到Linq中的Min()和Max()方法.NET7比.NET6有高达45倍的性能提升,当时Benchmark代码和结果如下所示:[Params......
  • 07Jmeter之CSV数据文件设置遇到的问题
    CSV数据文件设置遇到的问题与解决 问题一:点击jmeter运行,没有响应,查看结果树没返回信息解决:查看日志,文件没有该文件(实际本地只有TXT文件,没有EXCEL文件),选择存在文件即解......
  • 转 python 自动监控表空间,并自动添加数据文件
    侯志清-江西南昌 python自动监控表空间,并自动添加数据文件#!/usr/bin/pythonimportosimporttimeimportlinecache#定义记录日志文件defrlog(log)......
  • SQLServer增量收缩数据文件的大小
    增量收缩数据文件脚本--SQLServer--Shrink_DB_File.sql/*Thisscriptisusedtoshrinkadatabasefileinincrementsuntilitreachesatargetfreespacelimi......
  • jmeter使用CSV文件保存参数,读取为传参(CSV数据文件设置)
    为了模拟多用户操作系统,可以把用户名、密码等需要传递的参数保存于CSV文件,自动读取即可   这里我使用来读取的是token,批量保存下拉短期不过期的token ......