清理SQL Server 2008数据库日志

第一步, 在收缩前先查看日志的大小:

SELECT *

FROM sysfiles

WHERE name LIKE ' % LOG %'

GO

 

第二步, 把数据库的恢复模式设成”简单”:

ALTER DATABASE 库名 SET RECOVERY SIMPLE

GO

 

第三步, 运行checkpoint指令, 把dirty page写进数据库:

CHECKPOINT

GO

 

第四步, 截断日志: 

BACKUP LOG 库名 WITH NO_LOG

GO

 

第五步, 记录一下日志名为下一步做准备:

 

SELECT Name

FROM sysfiles

WHERE name LIKE ' % LOG'

GO
 

 

第六步, 收缩日志文件, 把不用的空间释放给操作系统:

DBCC SHRINKFILE (文件名, 所需大小)

GO

 

第七步, 验证一下日志大小是否达到所需大小了:

SELECT *

FROM sysfiles

WHERE name LIKE ' % LOG % '

GO

 

 后续步骤:

 1)查看你的主要数据库, 看看日志增长是否失控;

 2)查看上面的代码, 并进行必要修改和测试以适应你的数据库要求;

 3)定期收缩数据库 ----(注: 慎用!! 不建议用在production环境里.)

 4)继续监控数据库大小和服务器上的可用空间大小.

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值