事务同步是SQLServer做读写分离的一种常用的方式。
随着业务数据的不断增长,数据库积攒了大量的日志,为了腾出硬盘空间,需要对数据库日志进行清理
订阅数据库的日志清理
因为订阅数据库所有的数据都来自发布数据库,所以可以直接进行清理。
操作步骤:
- 1、 在
数据库右击-属性-选项-恢复模式
改为简单
之后
- 2、进入
数据库右击-任务-收缩-文件
,
文件类型
选择日志
,收缩操作
选择在释放未使用的空间前重新组织下页
,在右边的文本框填入想要保留的日志文件的大小,点击确认
即可,稍等就可以看了对应的ldf日志已经被收缩了
- 3、为了避免其他问题,请在收缩日志成功后立即把
恢复模式
改回完整
。
发布数据库的日志清理
发布数据库基本上都是处于生产环境,直接数据库右击-任务-收缩-文件
进行收缩是没有效果的。
为了保证事务同步的数据安全,不能采用修改恢复模式
的办法进行日志收缩;断掉事务同步,收缩完日志之后,重新发布事务同步与订阅也不现实,会导致业务中断而且费时费力。
当然强大的微软已经为我们考虑到了,下面是操作操作步骤:
- 1、数据完整备份
数据库右击-任务-备份
,
选择备份类型
为完整
、不勾选进复制备份
、备份组件选择数据库
,可以点击添加
自己选择备份路径和名称,之后等待备份完毕
- 2、数据库事务日志备份
同上进入 数据库右击-任务-备份
,如下图所示选择备份类型
为事务日志
、不勾选进复制备份
,可以自己设置路径,然后还没完
确认选项
下面的阶段事务日志
是否勾选,一般是默认勾选的,之后点击确定,等待备份完毕
-
3、收缩日志
通过上边的两步,日志空间已经可以被释放了,按照订阅数据库的日志清理的第3步进行操作就可以实现对日志的收缩了。 -
4、说明:1、2两步根据数据大小和服务器IO性能可能需要较长时间,请尽量在夜间或其他业务不繁忙的时间段进行操作,切记切记!