清除日志文件大小的方法,请大家来看看可不可行。
我今天找到了一个清除日志文件大小的方法,请大家来看看可不可行。
1、右键数据库→任务→分离→确定
2、在存放日志文件路径位置里找到日志文件,更改日志文件名。
3、右键数据库→附加→添加原来分离的数据库→删除原来的日志文件→确定
以上操作后会新生成日志文件,大小1M。我进入数据库里看数据原来的数据还在没有被删除
------解决方案--------------------楼主的方法,不可作为常规操作,日志文件损坏时倒可以一试
原理:
#1.分离数据库,如果能正常执行完毕,应该已经没有未完成的事务
#2.相当于舍去日志文件,只保留数据文件
#3.重新附加时,由于没有日志文件,系统会自动重建日志文件(1M)
缺点:
#1.此操作属离线操作
#2.假如此数据库用于复制,镜像或日志传送,事务会丢失
#3.不排除附加时出错的可能性
建议:
#1.如果系统不要求日志备份的话,把数据库设置成SIMPLE模式,日志文件会重用
#2.如果系统要求日志备份的话,把数据库设置成FULL模式,定时作日志备份
#3.如果遇见日志文件收缩不了的状况,分析下原因,可能是未提交事务,镜像未完成,复制未完成,日志未备份等原因导致。
具体查看sys.database表中的log_reuse_wait_desc字段
------解决方案--------------------
把数据库的恢复模式改为simple,然后再收缩日志文件