数据库tempdb的事物日志已满,原因为“ACTIVE_TRANSACTION”

2023-03-08,,

系统运行过程中,突然报错数据库tempdb的事物日志已满,原因为“ACTIVE_TRANSACTION”。导致所有业务崩溃。

接到报警后,进入数据库服务器。检查硬盘空间正常,于是登录数据库,一登录就报错。且除系统数据库之外都无法显示。

首先尝试了收缩数据,但前台操作一直不成功
然后找了一个增加数据库日志文件的命令,在测试库测试添加成功

先查询数据库日志的存放位置,再讲tempdb的位置代入到FILENAME的位置中。第一次执行未成功,第二次执行成功。

执行成功后系统即恢复正常。

1 select * from sys.sysdatabases where name='tempdb'
2 alter database tempdb add file (NAME=N'temp1_log',FILENAME=N'D:\MSSQL12.MSSQLSERVER\MSSQL\DATA\temp1_log.ndf',SIZE=8192KB,FILEGROWTH=65536KB)  TO FILEGROUP [PRIMARY]

总结:数据库日志因设置了大小限制,导致日志达到限制最大值时就会死掉。 数据库日志大小限制这个功能就是个坑!!!千万别设置

数据库tempdb的事物日志已满,原因为“ACTIVE_TRANSACTION”的相关教程结束。

《数据库tempdb的事物日志已满,原因为“ACTIVE_TRANSACTION”.doc》

下载本文的Word格式文档,以方便收藏与打印。