Talend报错:The transaction log for database ‘dbname’ is full due to ‘LOG_BACKUP’

0. 原因

数据库日志文件过大,导致无空间存储日志,Job出现报错

1. 方案

收缩日志文件

2. 具体实现

USE[master]
    GO
    ALTER DATABASE 数据库名称 SET RECOVERY SIMPLE WITH NO_WAIT
    GO
    ALTER DATABASE 数据库名称 SET RECOVERY SIMPLE   --简单模式
    GO
    USE 数据库名称 
    GO
    DBCC SHRINKFILE (N'数据库名称_log' , 11, TRUNCATEONLY)
    GO
    USE[master]
    GO
    ALTER DATABASE 数据库名称 SET RECOVERY FULL WITH NO_WAIT
    GO
    ALTER DATABASE 数据库名称 SET RECOVERY FULL  --还原为完全模式
    GO 

首先,将“数据库名称”提换成实际的数据库名

然后,多次重复执行上述代码,不断对日志文件大小进行收缩。

USE 数据库名称
dbcc sqlperf(logspace) 

最后,通过这段代码查询当前该数据库日志的大小

3. 参考

《The transaction log for database ‘dbname’ is full due to ‘LOG_BACKUP’.》

暂无评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注