数据库事务日志已满的解决办法

 报错信息:“The transaction log for database 'TestDB' is full due to 'LOG_BACKUP'”

--压缩数据库,数据库事务日志已满,压缩脚本

以数据库名称为:TestDB 为例

 

USE [master]
GO
--检查日志文件名称
SELECT NAME, size FROM sys.database_files

--查看数据库的recovery_model_desc类型

SELECT NAME, recovery_model_desc FROM sys.databases WHERE NAME='TestDB'

--果是FULL类型,修改为SIMPLE类型  

ALTER DATABASE TestDB SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE TestDB SET RECOVERY SIMPLE
GO
USE TestDB
GO
DBCC SHRINKFILE (N'TestDB_Log' , 11, TRUNCATEONLY) --TestDB_Log为日志名称
GO
USE [master]
GO
--恢复成FULL类型
ALTER DATABASE TestDB SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE TestDB SET RECOVERY FULL
GO

原文地址:https://www.cnblogs.com/allen0/p/9418100.html