2016-12-14 2 views
0

Я сижу с проблемой.Неверная репликация слияния объектов

Я добавил новую таблицу в свою реплицированную БД и обновил представление, чтобы включить эту таблицу.

Когда репликация выполнялась с ошибкой объекта, ошибка была исключена из-за просмотра, пытающегося реплицировать, но таблица не была реплицирована подписчикам.

Я обновил последовательность репликации статьи для обеспечения таблицы реплицируется до представления с

sp_changemergearticle 

Я снова побежал снимок, и таблица была включена в качестве статьи, как и ожидалось.

Когда я запустил репликацию, я до сих пор получаю сообщение об ошибке «Неверный объект».

Я не могу позволить себе повторно инициализировать подписки, так как риск потери данных велик.

Любая помощь будет оценена по достоинству.

ответ

0

Добавление статьи включает в себя добавление статьи в публикацию, создание нового моментального снимка для публикации и синхронизацию подписки для применения схемы и данных для вновь добавленной статьи. После создания нового моментального снимка агент распространения/слияния скопирует схему и данные для недавно добавленной статьи Абоненту (-ам).

Я настоятельно рекомендую выполнить тест в самостоятельной среде, как только вы заработаете в более низкой или собственной среде, переместите исправление на производство. Прежде чем делать это, сделайте резервную копию, посмотрите, сможете ли вы это сделать во время обслуживания, и вы можете сделать выбор вставки в другие таблицы, если вам нужна дополнительная помощь по резервному копированию.

Source

More information

0

Был стол и вид добавляется к абоненту после снимка? Вы добавили ту же таблицу и посмотрели на издателя? Я пытаюсь посмотреть, где вы находитесь. Похоже, вы реплицировали представление, которое ссылалось на таблицу, которая не существовала у абонента. Приведенные ниже шаги будут работать, если вы обновили представление у подписчика и в какой-то момент позже обновили статью издателя - из-за синхронизации.

  1. Открыть определение представления у издателя.
  2. Скопируйте определение вида.
  3. Перейдите к подписчику.
  4. Выполнение определения представления, полученного издателем на шаге 2, в качестве инструкции alter.
  5. В следующий раз, когда агент запускается, он должен очистить ошибку, поскольку представления снова идентичны.

Похоже, что самая безопасная ставка заключалась бы в том, чтобы добавить как таблицу, так и просмотреть в качестве статей издателя и перезапустить моментальный снимок, вытащить/нажать последнее.

+0

Я добавил шаги для исправления статьи, которая, как я считаю, вызывает ошибку, однако, если это не точная проблема, сообщите мне, и я удалю. –

0

Итак, в итоге работа была создана вручную для таблицы, которая отсутствовала в каждом подписчике.

Я только что создал схему без данных, репликация началась и сделала все остальное.

Просмотров был уже идентичным, поэтому возврат к представлению издателя был невозможным.

Очень странно.

Благодарим за помощь всем!

Смежные вопросы