记一次SQL Server磁盘突然满了导致数据库锁死事件is full due to ‘LOG_BACKUP‘.

背景

最近我们的sql server 数据库磁盘在80左右,需要新增磁盘空间。还是处以目前可控的范围内,但是昨天晚上告警是80%,凌晨2:56分告警是90%,今天早上磁盘就满了。

经过

通过阿里云后台查看,磁盘已经占据99%,主要是日志空间的增长。

正常的日志空间在10%左右

问题

通过对后台日志的分析,应该是有脚本在用各种用户在测试外网链接,应该属于攻击手段了。想要获取数据库的数据。

解决方式

解决的途径有两个,一个是通过对外网链接配置白名单,限制其他IP的访问,使日志下降。这一块通过阿里云的配置就可以实现。

另一个是需要解除sql server 的服务器锁,能够自由插入数据和删除数据。现在这种情况下,无法做正常的业务操作。

经过咨询以后,得到下面的脚本。下面的是查看现在数据库中磁盘占有量。

sql 复制代码
USE yy_BI;
SELECT SUM(unallocated_extent_page_count) AS [free pages],
       (SUM(unallocated_extent_page_count)*1.0/128) AS [free space in MB]
FROM sys.dm_db_file_space_usage;
sql 复制代码
-- 查询数据库服务器各数据库日志文件的大小及利用率
DBCC SQLPERF(LOGSPACE)

使用下面的语句,会对数据库中的事务日志进行收缩,达到减少存储空间的目的。

sql 复制代码
DBCC SHRINKDATABASE(yy_BMS_DataWarehouse);

经过一段时间的日志处理,现在磁盘已经降下来了。

相关推荐
瀚高PG实验室10 小时前
HGHAC集群版本升级
数据库·postgresql·瀚高数据库
品牌常新11 小时前
室外巡检机器人推荐:园区与厂区怎么选
数据库·人工智能·机器人
snow@li11 小时前
redis:RedisDesktopManager(RDM/RESP.app)Redis 数据可视化全景深度梳理
数据库·redis·缓存
lqbzlll11 小时前
MySQL 慢查询日志开了但看不懂?从 slow_query_log 到 EXPLAIN ANALYZE 一步步定位
数据库·mysql·adb
code_slave(码畜)11 小时前
微服务架构落地:慢 SQL 治理与连接池调优 —— 守住数据库的最后一道防线
数据库·spring boot·sql·spring cloud·微服务·架构
IvorySQL11 小时前
PostgreSQL 日报|子表 CHECK 约束恢复标记错误(11 月 2 日)
数据库·postgresql
你看我名字12 小时前
Redis 高可用、持久化与故障切换:从缓存组件到云上基础设施
数据库·redis·缓存
风翼靓崽12 小时前
centos7以mysql为例自建yum源
数据库·mysql·adb
码农阿豪13 小时前
MongoDB迁移到金仓数据库:商品属性继续灵活存,订单报表交给 SQL
数据库·sql·mongodb