Как отключить перенаправленного издателя без разрушения репликации (репликация с AlwaysOn Publisher)? - PullRequest
0 голосов
/ 18 июня 2020

Итак, у нас есть AlwaysOn в нашей среде репликации, где Publisher перенаправляет на имя слушателя. Обычно в нашей группе доступности ТРИ машины.

Установка прошла, но теперь, когда мы начинаем заменять старые SKU (без гарантии и т. Д. c.) И вводить новые машины. В документации ничего не упоминается о том, как отключить издателя, а ОБЫЧНЫЙ метод отключения автономного издателя закончился тем, что полностью уничтожил мою подписку.

Вот сценарий:

  1. У нас есть AGListenerName с тремя серверами за ним: Server1, Server2, Server3

  2. Мы хотим разложить Server1 (исходный издатель) с Server2 (который представляет собой новый SKU, добавленный как SECONDARRY), и сделать Server2 новым ПЕРВИЧНЫМ

  3. Мы не смогли передать AGListenerName на Server2 как ПЕРВИЧНЫЙ и Server1 является вторичным асинхронным c и подтвердил, что перенаправление работает на НОВЫЙ сервер.

  4. СЕЙЧАС: мы хотим удалить Server1 из группы доступности и списать его.

ВОПРОС: Как безопасно удалить Server1 (и любую будущую машину) без необходимости повторной инициализации репликации каждый раз, когда мы переключаем другую машину из / в другую? Мы планируем ротацию новых серверов примерно раз в год, и я не хочу испортить репликацию и каждый раз заново инициализировать.

Вот что Я ПЫТАЛСЯ сделать: 1. Запустил это для Server2 (нового основного).

    @original_publisher = 'Server2', 
    @publisher_db = 'OurDatabase'
    @redirected_publisher = 'AGListenerName'
Полностью удален Server1 из группы доступности и кластера. Отключена публикация на Server1 (я думаю, что это была моя ошибка, потому что она также снесла подписку с Server2) и оставила метаданные в потерянном состояние в дистрибьюторе.
GO
use [master]
exec sp_dropdistributor @no_checks = 1
GO
...