Merge replication: слетает фильтрация при изменении структуры таблицы

GreenSunrise

Паблишер и подписчик - SQL EE - версия 8.00.818Merge replication, push подписка, динамические фильтры, @pre_creation_cmd = N'delete' с тем же условием, что в фильтре, подписка с опцией "Yes, initialize the schema and data".Репликация ходит, все нормально. Реплицируются только записи, удовлетворяющие фильтру.Меняем структуру реплицируемой таблицы - добавляем колонку через sp_repladdcolumnПерезапускаем Snapshot agent.Перезапускаем Merge agent.Фильтры НЕ РАБОТАЮТ. На подписчика идут ВСЕ записи без фильтрации.
6 ответов

GreenSunrise

snapshot уже перезапустили? обычно он не требуется при добавлении поля


GreenSunrise

2 и 3 строчки снизу первого поста:Перезапускаем Snapshot agent.Перезапускаем Merge agent.


GreenSunrise

в таблицах sysmergearticles и sysmergesubsetfilters осталась информация о фильтрах? это происходит со всеми подписчиками?


GreenSunrise

В sysmergearticles осталась, в sysmergesubsetfilters и не было, потому что фильтр в пределах данной таблицы, это не join фильтр.Да, со всеми.


GreenSunrise

... у себя с таким не сталкивался ... могу предположить что после закачки на подписчика всех записей он начнёт их фильтровать, это можно проверить на одном из подписчиков


GreenSunrise

Некоторые уточнения - записи идут не все. Причем реинициализации не происходит, все нормально. Фильтры вроде работают...Пока удалось выяснить, что проблемы были при апдейтах, затрагивающих поле, участвующее в фильтре для репликации. Выглядит в чем-то логично... Если у меня, к примеру, фильтр (mustReplicated = 1), то что делать с записями, у которых это поле меняется?В общем, если что-то прояснится, я еще допишу в этот топик.