Двухуровневая репликация SQL Server - транзакция / слияние - строки не выходят из строя - PullRequest
1 голос
/ 30 марта 2009

У меня есть экземпляр SQL 2000, в котором есть база данных с публикацией транзакций - только таблицы. На него подписан экземпляр SQL 2005 - без проблем.

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

Установка выглядит следующим образом:

SQL2000 - (Транзакционный) -> SQL2005-1 - (Слияние) -> SQL2005-2

Первоначальный снимок публикации SQL2000 полностью соответствует подписчику SLQ2005-2 Merge.

Если я обновлю или вставлю строку на стороне SQL2000, она попадет в среднюю базу данных SQL2005-1. Однако эти строки не распространяются в базу данных SQL2005-2. Если я вручную вставлю или обновлю строку в базе данных SQL2005-1, изменение произойдет.

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

Как я могу заставить это работать? Любая помощь будет высоко ценится!

1 Ответ

0 голосов
/ 01 апреля 2009

Я предполагаю здесь, но помечены ли ваши триггеры с 2005-1 по 2005-2 как "не для репликации", и поэтому происходит пропуск с 2000 по 2005-1? Цепная репликация - непростой процесс, и для ее работы необходимо изменить большое количество «волшебных» вещей.

http://msdn.microsoft.com/en-us/library/ms152529.aspx

...