Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Из жизни репликаций - Error 14040 - the server is already a subscriber  [new]
Vakho
Member

Откуда: ---------
Сообщений: 405
Windows Server 2003 Enterprise Edition SP2
MS SQL Server 2000 SP4
===================================
Утром включили Win-сервер, а у него не загружаются DLL для ядра, хотя его выключали нормально.
1) Привел сервер в чувство, и Windows заработал.
2) На этом сервере работает MS SQL, который выполняет роль публикатора и дистрибутора некоторой БД и обслуживает 7 подписчиков. Репликация слиянием типа PUSH.
3) В списке Replication Monitors / Agents / Merge Agents не оказалось ни одного агента.
4) Выяснилось, что БД дистрибутора вышла из строя. Базу данных восстановил из BackUp-а.
5) В Enterprise Manager в разделе Replication Monitors / Agents / Miscellaneous Agents запустил всех агентов вручную. Merge-агенты ожили и заработали, но только 6 (шесть) из семи. Седьмого в списке не оказалось. Дело в том, что BackUp БД дистрибутора делался в тот момент, когда в системе работало 6 merge-агентов. Когда запустили седьмой, BackUp не сделали (знаю... знаю... ).
6)ОК. Делаю Tools / Replication / Configure publishers, subscribers,and distribution. Выбираю закладку Subscribers. Седьмой сервер там присутствует, потому что в Enterprise Manager-е он зарегистрирован. Ставлю птичку, нажимаю кнопку [...], ОК, появляется сообщение:
Error 14040 - the server is already a subscriber.
7) На всякий случай захожу на седьмой сервер и выполняю на нем sp_removedbreplication.
8) Пункт 6.
9) Сообщение Error 14040.
10) Финиш.
===================================
Вопрос: Откуда и как удалить упоминание о седьмом подписчике ?
Спасибо.

PS. Вот здесь предлагается удалить соответствующие записи из
msdb..msdistributiondbs
master..sysservers
master..sysxlogins
Но мне не хотелось бы производить сброс и повторную настройку репликации. Может быть есть менее кровавый подход ?
22 апр 14, 15:41    [15916908]     Ответить | Цитировать Сообщить модератору
 Re: Из жизни репликаций - Error 14040 - the server is already a subscriber  [new]
Vakho
Member

Откуда: ---------
Сообщений: 405
Таким образом, алгоритм следующий:
1) Набрать полную грудь воздуха: резать будем по живому, но, правда, несильно.
2) На публикаторе / дистрибуторе выполнить на SQL Query Analizer-e следующие команды, предварительно в Enterprise Manager-e задав параметр, показанный на картинке:
declare @srvid int
EXEC sp_configure 'allow',1
reconfigure with override
select @srvid = srvid from master..sysservers where srvname = 'Сервер_Подписчик'
delete from master..sysservers where srvid = @srvid 
delete from master..sysxlogins where srvid = @srvid

(Взято отсюда)
3) Tools / Replication / Configure publishers, subscribers,and distribution - объявление подписчика
4) Tools / Replication / Push Subscriptions to Others...
5) Сделать BackUp-ы.
Репликацию перенастраивать не пришлось.

К сообщению приложен файл. Размер - 16Kb
22 апр 14, 17:39    [15918089]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить