SQL Server 日志清除

本文介绍在SqlServer中如何通过改变数据库恢复模式来快速清理和压缩日志文件的方法,包括设置简单模式、查询日志文件ID及执行压缩操作的具体步骤,并提供了一种适合2008以下版本的替代方案。

在SqlServer中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完全模式。

*[DataBaseName]要压缩日志的数据库名称.

 

设置数据库模式为简单模式

ALTER DATABASE DataBaseName SET RECOVERY SIMPLE WITH NO_WAIT   

ALTER DATABASE DataBaseName SET RECOVERY SIMPLE

    

查询日志文件的 FiledId

SELECT * FROM SysFiles

 

将日志的 FiledId 填写为下面语句括号中的 第一个参数,其中第二个参数是指将日志压缩到多少兆(M)

执行完后日志将被压缩为100M     

DBCC SHRINKFILE (2,100)

  

还原为完全模式  

ALTER DATABASE DataBaseName SET RECOVERY FULL WITH NO_WAIT

ALTER DATABASE DataBaseName SET RECOVERY FULL

   

优点:此清除日志所运行消耗的时间短,90GB的日志在分钟左右即可清除完毕,做完之后做个完全备--份在分钟内即可完成。

缺点:不过此动作最好不要经常使用,因为它的运行会带来系统碎片。普通状态下LOG和DIFF的备份--即可截断日志。

 

SqlServer 2008 以下版本适用语句

BACKUP LOG [DataBaseName] WITH NO_LOG

DBCC SHRINKDATABASE ([DataBaseName],TRUNCATEONLY)

 

转载于:https://www.cnblogs.com/MuNet/p/5563380.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值