日期:2014-05-17  浏览次数:20466 次

SQL 2005 事务复制的订阅过期如何使用?
原来设置的是订阅永不过期,结果 distribution 库的 msrepl_commands 表中保存大量数据,导致磁盘空间被大量占用
今天看到有订阅过期这个选项,其介绍为:如果不在下面规定的小时数内同步,则可能会被删除

但现在我的问题是distribution库中保存的是大量已经同步过的事务,这些会不会自动删除呢?

网上查SQL 2005是有这个Bug不会自动删除已经同步过的命令的,需要安装Hotfix补丁包,安装这个补丁急需要删除现有的并重建发布,也不确定那个帖子中所提到的SQL 2005是哪个版本,是否微软已经修复过,添加了订阅过期的功能?


另外原来没开启订阅过期,现在更改了这个设置,可以保存,是不是也是需要重新发布才会生效呢?还是重新生成快照就可以了?

------解决方案--------------------
但现在我的问题是distribution库中保存的是大量已经同步过的事务,这些会不会自动删除呢?

这个 系统会自动删除(系统会在你的JOB中自动生成一个 过期的订阅删除 和 代理历史记录清除)
------解决方案--------------------
官方参考资料:http://technet.microsoft.com/zh-cn/library/ms151188(v=sql.90).aspx
------解决方案--------------------
distribution 是会自动删除的。