У меня есть репликация транзакций с обновляемыми подписками, проходящими между несколькими серверами SQL 2008 R2 (издатель - Enterprise, подписчики - Express).
Мне нужно добавить еще одного подписчика, и я обнаружил, что моя база данных переросла ограничение в 10 ГБ для Express. Мои текущие подписчики не превышают лимит в 10 ГБ, однако база данных публикации составляет 13 ГБ.
Поэтому я удаляю несколько больших неиспользуемых столбцов и данные из самых больших таблиц, запускаю dbcc cleantable, запускаю статистику обновления для них, таблицы немного уменьшаются в размере, и я подумал, что все готово!
Тем не менее, размер базы данных публикации по-прежнему составляет 11,5 ГБ, а количество подписчиков уменьшилось до 8 ГБ.
Я сравниваю размеры таблиц между издателями и подписчиками, и несколько самых больших таблиц, из которых я удалил данные, в базе данных публикации больше, чем базы данных подписки - на пару гигов.
Я сравниваю структуры таблиц и использую средство сравнения данных RedGate - таблицы у издателя и подписчика идентичны, так что я не понимаю. Я не знаю, в чем причина несоответствия, не говоря уже о том, как его устранить, чтобы я мог добавить еще одного подписчика (без необходимости покупать лицензии SQL Standard для подписчика). У меня такое чувство, что это связано с тем, что я был издателем, и количество строк значительно выросло за последний год.
В качестве примечания - у меня также есть пара лицензий SQL Standard 2008, но они 2008, а не 2008 R2, поэтому несовместимы для инициализации подписчика с помощью резервной копии. У сайтов медленное соединение, поэтому я всегда инициализировал репликацию из резервных копий.