Найти в Дзене

MSSQL — восстанавливаем работу зеркала

Часто бывает так, что после каких-то действий по обновлению или из-за перезагрузки сервера процесс зеркалирование базы может приостановиться. База висит в статусе SUSPENDED. При этом БД не жмётся, лог транзакций постоянно растёт, что может привести к остановке БД. Бэкап тоже может перестать работать из-за разросшегося лога. Можно разобрать зеркало и снова собрать. Однако, если БД большая, этот процесс может занять много времени. Более правильный способ — попытаться восстановить зеркалирование. Классический метод прост, на основной БД нужно запустить: ALTER DATABASE [имя_вашей_бд] SET PARTNER RESUME Однако, как показывает практика, это не всегда работает. База переводится в режим SYNCHRONIZED, при этом ничего не происходит. Database Mirroring Monitor показывает, что данные не передаются. В этом случае идём на зеркальную БД и тоже её пинаем: ALTER DATABASE [имя_вашей_бд] SET PARTNER RESUME Немного ждём. Потекло. Мне обещают, что через час всё синхронизируется. Естественно, время не точно

Часто бывает так, что после каких-то действий по обновлению или из-за перезагрузки сервера процесс зеркалирование базы может приостановиться. База висит в статусе SUSPENDED.

При этом БД не жмётся, лог транзакций постоянно растёт, что может привести к остановке БД. Бэкап тоже может перестать работать из-за разросшегося лога.

Можно разобрать зеркало и снова собрать. Однако, если БД большая, этот процесс может занять много времени. Более правильный способ — попытаться восстановить зеркалирование.

Классический метод прост, на основной БД нужно запустить:

ALTER DATABASE [имя_вашей_бд] SET PARTNER RESUME

Однако, как показывает практика, это не всегда работает. База переводится в режим SYNCHRONIZED, при этом ничего не происходит. Database Mirroring Monitor показывает, что данные не передаются.

В этом случае идём на зеркальную БД и тоже её пинаем:

ALTER DATABASE [имя_вашей_бд] SET PARTNER RESUME

Немного ждём.

-2

Потекло. Мне обещают, что через час всё синхронизируется. Естественно, время не точное. Я вижу что отправка пошла, но приём пока медленный. Понаблюдаю.

-3

Прошло пол часа. Половина отстающих данных улетела, но не восстановилась.

-4

Ещё через пол часа данные улетели полностью, но на зеркальном сервере не восстанавливаются.

Передёргиваем зеркальную базу:

ALTER DATABASE [имя_вашей_бд] SET PARTNER SUSPEND
ALTER DATABASE [имя_вашей_бд] SET PARTNER RESUME
-5

Так же лучше. Дождусь синхронизации и запланирую перезагрузку сервера.

Источник:

MSSQL — восстанавливаем работу зеркала | internet-lab.ru

💰 Поддержать проект

Если вам понравилась статья, то ставьте 👍🏻 каналу.
Пишите комментарии, задавайте вопросы, подписывайтесь.