数据库错误日志惹的祸

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 前天接到同事电话:SQL服务器磁盘空间爆满导致数据库无法访问。远程到服务器上,发现原来是SQL错误日志文件惹的祸,数据库在1秒内产生上100M大小的日志,没多长时间就将磁盘空间堵满了。

前天接到同事电话:SQL服务器磁盘空间爆满导致数据库无法访问。远程到服务器上,发现原来是SQL错误日志文件惹的祸,数据库在1秒内产生上100M大小的日志,没多长时间就将磁盘空间堵满了。

SQL错误日志记录了数据库运行过程的遇到的各种问题及一些重要信息,作为排错需要,我们通常都不会主动去清理这些日志文件,只有每次重启服务器时,SQL会自动删除时间最老的日志文件,并新生成一个日志文件。

通过在服务器上查看数据库的日志文件,发现存在大量的query notification dialog的信息,而且出现的频率非常的高,导致日志文件增大非常快。

image

 

通过google了解到这个错误跟service broker的消息机制由关系,可以通过使用跟踪标记:DBCC TraceOn(4133,-1)可消除此信息。

不过现在的当务之急是如何清掉这些日志信息,最简单的办法就是到SQL的日志目录中删除这些日志文件即可,不过考虑到删除之前需要停止SQL Server服务,可能会导致缓存中的数据丢失,因此,这不是推荐的做法。

那么正确的做法应该怎样呢?

执行如下语句:

EXEC sp_cycle_errorlog;

每执行一次SQL会自动初始化一个日志文件,将日志的内容清空,当SQL有7个日志文件时(默认),请执行7次该操作,每次会将日志文件时间最老那个清空。

读者不必担心清空会消耗很长的时间,我这边的有个日志有40G,命令执行完后,该文件立即清空了。在时间紧急的情况,这种方式尤为方便。

那么有没有办法设置每个日志文件的固定大小呢?

查过这方面的资料,有人说可以在注册表中设置ErrorLogSizeInKb的大小,不过仅限于SQL2012,其他版本的数据库设置后不生效,这个我没有验证过,有兴趣的朋友可以一起讨论下。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
2月前
|
SQL 监控 Java
在IDEA 、springboot中使用切面aop实现日志信息的记录到数据库
这篇文章介绍了如何在IDEA和Spring Boot中使用AOP技术实现日志信息的记录到数据库的详细步骤和代码示例。
在IDEA 、springboot中使用切面aop实现日志信息的记录到数据库
|
2月前
|
SQL 关系型数据库 MySQL
【揭秘】MySQL binlog日志与GTID:如何让数据库备份恢复变得轻松简单?
【8月更文挑战第22天】MySQL的binlog日志记录数据变更,用于恢复、复制和点恢复;GTID为每笔事务分配唯一ID,简化复制和恢复流程。开启binlog和GTID后,可通过`mysqldump`进行逻辑备份,包含binlog位置信息,或用`xtrabackup`做物理备份。恢复时,使用`mysql`命令执行备份文件,或通过`innobackupex`恢复物理备份。GTID模式下的主从复制配置更简便。
220 2
|
2月前
|
SQL 数据库 数据安全/隐私保护
SQL Server数据库Owner导致事务复制log reader job无法启动的解决办法
【8月更文挑战第14天】解决SQL Server事务复制Log Reader作业因数据库所有者问题无法启动的方法:首先验证数据库所有者是否有效并具足够权限;若非,使用`ALTER AUTHORIZATION`更改为有效登录名。其次,确认Log Reader使用的登录名拥有读取事务日志所需的角色权限。还需检查复制配置是否准确无误,并验证Log Reader代理的连接信息及参数。重启SQL Server Agent服务或手动启动Log Reader作业亦可能解决问题。最后,审查SQL Server错误日志及Windows事件查看器以获取更多线索。
|
5天前
|
关系型数据库 MySQL 数据库
DZ社区 mysql日志清理 Discuz! X3.5数据库可以做定期常规清理的表
很多站长在网站日常维护中忽略了比较重要的一个环节,就是对于数据库的清理工作,造成数据库使用量增加必须多的原因一般有2个:后台站点功能开启了家园,此功能现在很少有论坛会用到,但是灌水机会灌入大量垃圾信息致使站长长时间未能发觉;再有就是程序默认的一些通知类表单会存放大量的、对于网站日常运行并无意义的通知信息。
20 2
|
6天前
|
存储 关系型数据库 数据库
数据库启用慢速查询日志如何增强 Postgres 可观测性
数据库启用慢速查询日志如何增强 Postgres 可观测性
14 1
|
22天前
|
存储 SQL 专有云
支持配置审计日志的存储数据库
审计日志作为企业监管平台的重要依据,同时也是“等保三级”认证的必要考察项之一。Dataphin V4.3版本支持设置平台日志的存储数据源,帮助用户快速获取审计日志,同时介绍了不同部署模式的Dataphin如何查看审计日志的方法。
|
2月前
|
存储 消息中间件 人工智能
AI大模型独角兽 MiniMax 基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志系统,PB 数据秒级查询响应
早期 MiniMax 基于 Grafana Loki 构建了日志系统,在资源消耗、写入性能及系统稳定性上都面临巨大的挑战。为此 MiniMax 开始寻找全新的日志系统方案,并基于阿里云数据库 SelectDB 版内核 Apache Doris 升级了日志系统,新系统已接入 MiniMax 内部所有业务线日志数据,数据规模为 PB 级, 整体可用性达到 99.9% 以上,10 亿级日志数据的检索速度可实现秒级响应。
AI大模型独角兽 MiniMax 基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志系统,PB 数据秒级查询响应
|
2月前
|
SQL Oracle 关系型数据库
"揭秘!一键解锁Oracle日志清理魔法,让海量归档日志无处遁形,守护数据库健康,告别磁盘空间告急噩梦!"
【8月更文挑战第9天】随着Oracle数据库在企业应用中的普及,归档日志管理对保持数据库健康至关重要。归档日志记录所有更改,对数据恢复极为重要,但也可能迅速占用大量磁盘空间影响性能。利用Oracle提供的RMAN工具,可通过编写Shell脚本来自动清理归档日志。脚本包括设置环境变量、连接数据库、检查和删除指定时间前的日志,并记录执行情况。通过Cron作业定时运行脚本,可有效管理日志文件,确保数据库稳定运行。
80 7
|
1月前
|
SQL 安全 数据库
基于SQL Server事务日志的数据库恢复技术及实战代码详解
基于事务日志的数据库恢复技术是SQL Server中一个非常强大的功能,它能够帮助数据库管理员在数据丢失或损坏的情况下,有效地恢复数据。通过定期备份数据库和事务日志,并在需要时按照正确的步骤恢复,可以最大限度地减少数据丢失的风险。需要注意的是,恢复数据是一个需要谨慎操作的过程,建议在执行恢复操作之前,详细了解相关的操作步骤和注意事项,以确保数据的安全和完整。
78 0
|
2月前
|
安全 API 数据库
OceanBase数据库clog日志,删前请三思!一不小心可能引发数据灾难,快来了解正确的日志管理之道!
【8月更文挑战第7天】ModelScope(魔搭)作为开放的模型即服务平台,提供丰富的预训练模型。访问令牌在此类平台中至关重要,用于验证用户身份并授权访问特定模型或服务。本文介绍访问令牌的概念、获取方法及使用示例,强调安全性与有效期内的使用,并简述刷新令牌机制。掌握这些知识可帮助用户安全高效地利用ModelScope的资源。
42 0