The transaction log for database 'XXX' is full due to 'ACTIVE_TRANSACTION'.
Msg 9002, Level 17, State 4, Line 4
The transaction log for database ‘Test‘ is full due to ‘ACTIVE_TRANSACTION‘.
本定一个测试库错误,由于此库的LOG文件被设置成不允许自动增长,而在大量输入数据的时候报出此错。此库已经使SIMPLE恢复模式。
--数据库当前LOG状态
select log_reuse_wait_desc from sys.databases
where name = ‘Test‘
log_reuse_wait_desc
ACTIVE_TRANSACTION
--LOG 使用情况
dbcc sqlperf(logspace)
Database Name Log Size (MB) Log Space Used (%) Status
Test 1.984375 118.3071 0
最吃惊的是它的使用率是118%,那多出来的18%空间给那来的?
--再看看它的虚拟日志情况
DBCC loginfo
--这个显示只有一个是活动的,其它的都可以使用的。又一个奇怪的信息
这种状态下,数据库基本上是一个只读状态。
那这个时候怎么解决,按Troubleshoot a Full Transaction Log 再加一个LOG文件就可以了。看文档上说,可能还有在恢复数据库的时候也遇到这种错。那个文档上有处理方法。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。