数据库 'MessageManage' 的事务日志已满。若要查明无法重用日志中的空间的原因,请参阅 sys.databases 中的 log_reuse_wait_desc 列。

时间:2023-03-08 16:17:03

提供两种办法:(SQL Server2008)

注意:建议使用第一种方法。第二种方法只是删除已有日志文件,日后还会继续生成。

第一种方法:清空日志。

1.打开企业管理器,直接在查询分析器里执行:(如果是FULL完整类型,修改为SIMPLE简单类型)

alter database [数据库名] set recovery simple

或者 右键你要压缩的数据库--属性--选项--恢复模式--简单

数据库 'MessageManage' 的事务日志已满。若要查明无法重用日志中的空间的原因,请参阅 sys.databases 中的 log_reuse_wait_desc 列。

2.查询分析器,输入命令:(收缩日志文件大小,单位是M)

DBCC SHRINKFILE (N'MessageManage_log' , 10)

或者 右键你要压缩的数据库--任务--收缩--数据库--直接确认下一步。

数据库 'MessageManage' 的事务日志已满。若要查明无法重用日志中的空间的原因,请参阅 sys.databases 中的 log_reuse_wait_desc 列。

数据库 'MessageManage' 的事务日志已满。若要查明无法重用日志中的空间的原因,请参阅 sys.databases 中的 log_reuse_wait_desc 列。

第二种方法:
1. 删除LOG
分离数据库 企业管理器->服务器->数据库->任务->分离数据库
2. 删除LOG文件
附加数据库 企业管理器->服务器->数据库->右键->附加数据库

此法生成新的LOG,大小只有500多K。

该方法有一定的风险性,因为SQL SERVER的日志文件不是即时写入数据库主文件的,如处理不当,会造成数据的损失。