Репликация слиянием SQL2008 не может обновлять зависимые элементы при добавлении таблицы - PullRequest
1 голос
/ 24 мая 2010

Настройка: существующий сценарий репликации слиянием SQL2008. Большая серверная база данных, включая представления и хранимые процедуры, реплицируется на клиентские машины.

Что я делаю:

  • добавление новой таблицы в базу данных
  • отметьте новую таблицу для репликации (используя SP_AddMergeArticle)
  • Изменить представление (которое уже является частью реплицированного содержимого) обновлено, чтобы включить поля из этой новой таблицы (которая присоединена к таблицам в существующем представлении). Хранимая процедура также обновляется.

Проблема: таблица реплицируется на клиентские машины, но представление не обновляется. Хранимая процедура также не обновляется.

Бесполезный обходной путь: если я запускаю агент моментальных снимков после вызова SP_AddMergeArticle и перед обновлением представления / SP , и представление, и хранимая процедура изменяются правильно, реплицируются в клиент.

Большая проблема: Я выполняю список сценариев базы данных в транзакции, как часть более крупного процесса. Агент моментальных снимков не может быть запущен во время транзакции, и если я прерву транзакцию (например, запустив сценарии в нескольких транзакциях), я потеряю возможность откатить изменения в случае сбоя.

У кого-нибудь есть предложения? Похоже, мне не хватает чего-то очевидного, потому что я не понимаю, почему изменения в view / sproc не будут реплицировать в любом случае независимо от того, что происходит с новой таблицей.

Ответы [ 2 ]

1 голос
/ 03 июня 2010

Вы вносите изменения в схему, используя ALTER VIEW | ИЗМЕНЕНИЕ ПРОЦЕДУРЫ? В статье «Внесение изменений в схемы в базах данных публикации» подразумевается, что это необходимо, а использование Management Studio невозможно.

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

0 голосов
/ 03 июня 2010

Просто быстрые подсказки, когда я ухожу:

Проверка Устранение неполадок (репликация) в справочной системе Books Online ...

проверьте вашу безопасность в каждой системе

используйте некоторые инструменты, чтобы увидеть, что происходит

включить трассировку профилировщика на каждом поле

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...