admin 管理员组文章数量: 887021
2024年1月19日发(作者:json数据进行拆分)
数据库的日志已满。请备份该数据库的事务日志以释放一些日志空间。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: eption: 数据库 '***' 的日志已满。请备份该数据库的事务日志以释放一些日志空间。
源错误:
[没有相关的源行]
源文件: c:meworkv2.0.50727Temporary
Filesroot72899b79f8dff11cApp_Web_
行: 0
可能引起的原因是:统计,排序这类操作太多了,太频繁了。
解决办法:还是要优化语句。
在tempdb库属性中,在[企业管理器]中把[事务日志]的[文件属性]中的[文件自动增长]前面打上钩,并且查看一下你的日志文件所在磁盘空间够不够了。如果不够,备份后换个地方存
[注:tempdb你数据库名称。]
复杂的方法,压缩日志及数据库文件如下:
1. 清空日志
DUMP TRANSACTION 数据库名 WITH NO_LOG
2. 截断事务日志
BACKUP LOG 数据库名 WITH NO_LOG
3. 收缩数据库文件(如果不压缩,数据库的文件不会减小)
企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--
选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
收缩数据库:DBCC SHRINKDATABASE (数据库名)
收缩指定数据文件:DBCC SHRINKFILE (1)
1是文件号,可以通过这个语句查询到:Select * from sysfiles
4. 为了最大化的缩小日志文件(如果是sql 7.0,这步只能在查询分析器中进行)
分离数据库
企业管理器--服务器--数据库--右键--分离数据库
( EXECsp_detach_db @dbname = ’pubs‘ )
在我的电脑中删除LOG文件
附加数据库
企业管理器--服务器--数据库--右键--附加数据库
( EXECsp_attach_single_file_db@dbname = ‘pubs’,
@physname = ’c:Program FilesMicrosoft
‘ )
此法将生成新的LOG,大小只有500多K
5. 为了以后能自动收缩,做如下设置
企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"--SQL语句设置方式:
EXECsp_dboption’数据库名‘, ’autoshrink‘, ’TRUE‘
6. 如果想以后不让它日志增长得太大
企业管理器--服务器--右键数据库--属性--事务日志--将文件增长限制为xM(x是你允许的最大数据文件大小)--SQL语句的设置方式:
alter database 数据库名 modify file(name=逻辑文件名,maxsize=20)
特别注意:
简单的方法,本人屡试不爽,建议大家使用。
1. 右建数据库属性窗口--故障还原模型--设为简单
2. 右建数据库所有任务--收缩数据库
3. 右建数据库属性窗口--故障还原模型--设为大容量日志记录
请按步骤进行,未进行前面的步骤,请不要做后面的步骤
否则可能损坏你的数据库.
一般不建议做第4,6两步
第4步不安全,有可能损坏数据库或丢失数据
第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复.
版权声明:本文标题:解决数据库日志已满 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1705619338h492671.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论