SQLserver AwaysOn日志文件过大,处理办法

SQLserver从单节点迁移到AwaysOn集群环境,在单节点时,数据库是简单模式,基本不记录日志。集群环境,由于必须使用日志,得是完整模式,这样日志会大量的增加,每天5G,这速度,谁都受不了。

1.单节点对日志文件过大的处理,两种方法:

1.1.分离,删除库,删除日志文件,然后再附加上去,这时候选择无日志文件,会重新创建个空日志文件。这样日志文件就缩容了。

 1.2.将数据库模式改成简单模式,这样日志文件会显示99%空间可以,然后收缩到指定空间就行。

 

2.集群处理 

对于集群环境,由于库只能是完整模式,以上两种方法就不太友好了。其实核心思想就是让日志可以轮询使用,怎么能轮询呢,就是备份,定期对日志文件进行备份,这样日志文件的可以空间就会重新变成99%可用了。

写了个脚本作为定时作业:

脚本命令行:

backup log BestSoftDB_P to disk='NULL' with compression
go

日志文件备份后,可以对文件直接缩容,文件直接变小,立竿见影;也可以不用管,自己会使用99%的可以空间。 

原文地址:https://www.cnblogs.com/nandi001/p/13042345.html