出现以下异常信息:

Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: 数据库“demo_db”的事务日志已满,原因为“LOG_BACKUP”。
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:258)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1535)
    at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:467)
    at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:409)
    at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7151)
    ... 56 common frames omitted

解决办法:
1、在SQL Server数据库工具中,选择【数据库】--> 右击【属性】--> 【选项】--> 恢复模式--> 选择【简单】
属性面板.png
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' , 2, TRUNCATEONLY)  --设置压缩后的日志大小为2M,可以自行指定  
GO  
USE[master]  
GO  
ALTER DATABASE 要清理的数据库名称 SET RECOVERY FULL WITH NO_WAIT  
GO  
ALTER DATABASE 要清理的数据库名称 SET RECOVERY FULL  --还原为完全模式  
GO

标签: 数据库, 事务日志已满, LOG_BACKUP, 数据库事务日志已满

仅有一条评论

  1. 你写得非常清晰明了,让我很容易理解你的观点。

添加新评论