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

 报错信息:“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

posted @ 2018-08-04 11:36  Allen6167  阅读(1215)  评论(0编辑  收藏  举报