Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Выпилить остатки репликации  [new]
Очень лысый
Member

Откуда: БОМЖ
Сообщений: 600
Здравствуйте!

Я тут опять с заковыристым вопросом (других у меня не бывает). Жила себе AG с двумя нодами-паблишерами, одним дистрибьютором и одним подписчиком на Microsoft SQL Server 2014 (SP3-GDR) (KB4583463) - 12.0.6164.21 (X64). И publisher redirect там был настроен. Но вот некие злыдни задумали дистрибьютора с подписчиком поднять на другом сервере, а прежний - выпилить с мясом. Как и что они в точности проделали, я уже от них не добьюсь, но получилось так, что первая нода теперь настроена как publisher с другим дистрибютором и в одно рыло себе работает. А на вторую - забили. А когда админы обновляли винды, они сделали, естественно, failover, и репликация, понятно, остановилась, что никто не заметил, логи транзакций выросли, базы стопнулись, и началось бурление говн. Обратились ко мне, чтобы пофиксил.
Ну я, понятно, подготовил скрипты, чтобы вторую ноду сделать паблишером уже при новом дистрибьюторе и редирект настроить. Но вот когда я на паблишере попытался выполнить

EXEC sp_adddistributor


он мне матюгнулся, что типа а я уже при другом дистрибютере. И в самом деле, проверил в SSMS свойства паблишера, а он указывает на уже почивший старый дистрибютор. И как я только не пытался этот мусор вычистить: и через визард удаления репликации и через процедуры всякие, а он матюгается, что база такая-то в AG участвует и сейчас неактивна, потому фиг тебе. Я попытался эту ситуацию повторить в своей тестовой среде, на SQL Server 2016, а он там вполне себе позволяет всё вычистить без ошибок на неактивной ноде. И вот я теперь в недоумении, как бы этот трабл забороть. Делать файловер на вторую ноду, чтобы запустить

exec sp_dropdistributor @no_checks = 1, @ignore_distributor = 1


мне как-то стрёмно: а вдруг поломается уже работающая репликация с первой ноды? Также, может, кто подскажет, а где, собственно, хранятся метаданные на паблишере о том, что он - паблишер?
13 ноя 21, 00:47    [22395447]     Ответить | Цитировать Сообщить модератору
 Re: Выпилить остатки репликации  [new]
Очень лысый
Member

Откуда: БОМЖ
Сообщений: 600
Я вопрос задал, и я же на него и отвечу. В общем, я таки смог повторить ситуацию на своих виртуалках. И от версии оно, походу, не зависит. Видимо, в прошлый разы я что-то делал не так. Если выпилить репликацию на активном паблишере и настроить её на другой дистрибютор, то на остальных нодах остаются orphaned настройки, которые выпиливаются только после файловера опубликованных баз в AG на данную ноду. При этом вновь настроенная на другой дистрибютор репликация не страдает и возобновляет свою работу, если сделать failover back. То есть, теперь я могу то же самое проделать и на проде и настроить publisher redirect с неизбезным даунтаймом репликации, конечно, на время этих манипуляций.
16 ноя 21, 19:19    [22396676]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить