Error:9002, Severity:17, State:2
The log file for database ’%.*ls’ is full.
除了出现此错误消息之外,SQL Server 还可能因为缺少事务日志扩展空间而将数据库标记为 SUSPECT。有关如何从此情形中恢复的其他信息,请参见 SQL Server 联机帮助中的“磁盘空间不足”主题。
另外,事务日志扩展可能导致下列情形:
·非常大的事务日志文件。
·事务可能会失败并可能开始回滚。
·事务可能会用很长时间才能完成。
·可能发生性能问题。
·可能发生阻塞现象。
原因
事务日志扩展可能由于以下原因或情形而发生:
·未提交的事务
·非常大的事务
·操作:DBCC DBREINDEX 和 Create INDEX
·在从事务日志备份还原时
·客户端应用程序不处理所有结果
·查询在事务日志完成扩展之前超时,您收到假的“Log Full”错误消息
·未复制的事务
解决方法
方法一:清空日志
1) 打开查询分析器,输入命令 BACKUP LOG 数据库名 WITH NO_LOG(或者DUMP TRANSACTION 数据库名 WITH NO_LOG )
2) 再打开企业管理器→右键你要压缩的数据库→所有任务→收缩数据库→收缩文件→选择日志文件→在收缩操作里选择收缩文件至M,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了。
方法二:生成新的日志文件
1) 分离数据库
2) 重命名/删除LOG文件
3) 附加数据库(重新生成日志文件)
此法生成新的LOG,大小只有500多K。这种方法有一定的风险性,因为SQL SERVER的日志文件不是即时写入数据库主文件的,如处理不当,会造成数据的损失,建议使用第一种方法。
如果以后不想要它变大,SQL Server 2000下使用:
在数据库上点右键→属性→选项→故障恢复→简单模型
或用SQL语句:
alter database 数据库名 set recovery simple
评论(0)
暂无评论。