我在几个 SQL 2008 R2 服务器(发布者是 Enterprise,订阅者是 Express)之间有可更新订阅的事务复制。
我需要添加另一个订阅者,然后发现我的数据库已经超出了 Express 的 10GB 限制。我当前的订阅者低于 10GB 的限制,但发布数据库为 13GB。
所以我从最大的表中删除了一些大的未使用的列和数据,运行 dbcc cleantable,对它们运行更新统计信息,表的大小稍微减小了一点,我想我可以走了!
但是,发布数据库仍然是不错的 11.5GB,而订阅者都下降到了 8GB。
我比较了发布者和订阅者之间的表大小,我从中删除数据的几个最大的表在发布数据库中比订阅数据库大 - 几场演出。
我比较表结构并使用 RedGate 的数据比较 - 发布者和订阅者之间的表是相同的,所以我不知所措。我不知道是什么导致了这种差异,更不用说如何解决了,所以我可以添加另一个订阅者(无需为订阅者购买 SQL 标准许可证)。我觉得这与成为出版商有关,并且它的行数在去年显着增长。
附带说明 - 我也有几个 SQL 标准 2008 许可证,但它们是 2008,而不是 2008 R2,因此不兼容使用备份初始化订户。这些站点的连接速度很慢,所以我总是从备份中初始化复制。