您的位置:首页 > 数据库

SQL Server中事务日志已满的原因以及解决办法

2014-12-21 16:08 411 查看
错误描述:数据库的事务日志已满。若要查明无法重用日志中的空间的原因 ,请参阅sys.databases 中的 log_reuse_wait_desc 列 。

首先引入一下事务日志的概念(来自百度百科):

事务日志是一个与数据库文件分开的文件。它存储对数据库进行的所有更改,并全部记录插入、更新、删除、提交、回退和数据库模式变化。事务日志还称作前滚日志或重做日志。

事务日志是备份和恢复的重要组件,也是使用 SQL Remote 或 [复制代理] 复制数据所必需的。

在缺省情况下,所有数据库都使用事务日志。事务日志的使用是可选的,但是,除非您因特殊原因而不使用,否则您应始终使用它。运行带有事务日志的数据库可提供更强的故障保护功能、更好的性能以及数据复制功能。

引发异常的原因:

a.未提交的事务

b.非常大的事务

c.操作:DBCC DBREINDEX 和 CREATE INDEX

d.在从事务日志备份还原时

e.客户端应用程序不处理所有结果

f.查询在事务日志完成扩展之前超时,您收到假的“Log Full”错误消息

g.未复制的事务

解决办法:

1.释放磁盘空间(菜鸟适用);

2.把数据库移到内存充足的磁盘(原理同上);

3.清空日志:DUMP TRANSACTION 库名 WITH NO_LOG;

4.截断事务日志:BACKUP LOG 库名 WITH NO_LOG;

遇到问题才是我们进步的机会,这些都是从网上搜索的一些解决办法,希望可以帮助到您!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐