SQLServer事务同步下如何收缩日志

来源:互联网 发布:阿里云配置php环境 编辑:程序博客网 时间:2024/04/29 05:25

事务同步是SQLServer做读写分离的一种常用的方式。
随着业务数据的不断增长,数据库积攒了大量的日志,为了腾出硬盘空间,需要对数据库日志进行清理

订阅数据库的日志清理

因为订阅数据库所有的数据都来自发布数据库,所以可以直接进行清理。

操作步骤:

  • 1、 在数据库右击-属性-选项-恢复模式改为简单之后

恢复模`改为简单

- 2、进入数据库右击-任务-收缩-文件

收缩文件

文件类型选择日志收缩操作选择在释放未使用的空间前重新组织下页,在右边的文本框填入想要保留的日志文件的大小,点击确认即可,稍等就可以看了对应的ldf日志已经被收缩了

收缩文件

  • 3、为了避免其他问题,请在收缩日志成功后立即把恢复模式改回完整

发布数据库的日志清理

发布数据库基本上都是处于生产环境,直接数据库右击-任务-收缩-文件进行收缩是没有效果的。
为了保证事务同步的数据安全,不能采用修改恢复模式的办法进行日志收缩;断掉事务同步,收缩完日志之后,重新发布事务同步与订阅也不现实,会导致业务中断而且费时费力。

当然强大的微软已经为我们考虑到了,下面是操作操作步骤:

  • 1、数据完整备份
    数据库右击-任务-备份

    收缩文件

选择备份类型完整、不勾选进复制备份、备份组件选择数据库,可以点击添加自己选择备份路径和名称,之后等待备份完毕

收缩文件

  • 2、数据库事务日志备份

    同上进入 数据库右击-任务-备份,如下图所示选择备份类型事务日志、不勾选进复制备份,可以自己设置路径,然后还没完

    收缩文件

确认选项下面的阶段事务日志是否勾选,一般是默认勾选的,之后点击确定,等待备份完毕

收缩文件

  • 3、收缩日志
    通过上边的两步,日志空间已经可以被释放了,按照订阅数据库的日志清理的第3步进行操作就可以实现对日志的收缩了。

  • 4、说明:1、2两步根据数据大小和服务器IO性能可能需要较长时间,请尽量在夜间或其他业务不繁忙的时间段进行操作,切记切记!

原文 http://huisky.com/blog/17010423310359

0 0
原创粉丝点击