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

Откуда: ближайшее заМКАДье
Сообщений: 4885
Отвалились сразу 2 дисковых хранилища: основного и резервного сервера.
Восстановили хранилище и сервак зеркала.

Как таковых админов БД у нас нет. Один был, оставил в наследство работающее зеркалирование и скрипты в случае проблем.
Я просто самый сильный разработчик БД.

Все базы были в состоянии: зеркальное отображение, отключен \ в процессе восстановления.

Скрипт, оставленный на случай проблем:
ALTER DATABASE DBNAME SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS
ALTER DATABASE DBNAME SET PARTNER OFF
RESTORE DATABASE DBNAME WITH RECOVERY

При запуске всех трех команд одна из баз перешла в состояние: Восстановление из копии.
Поздно поняли с начальником, что база ща восстанавливается из какого-то бэкапа.
Посмотрел скриптом, найденным здесь, бэкап от 18.07.

Вопрос, при падении основного сервера, действительно ли нужны все 3 команды? А то нашел статью на хабре, что достаточно только первой?

При вызове 1 или 2х первых команд база через несколько секунд возвращается в состояние "зеркальное отображение, отключен \ в процессе восстановления", т.е. ничего не меняется.

Вопрос 2: как-то можно прервать процесс восстановления?

вопрос 3: как узнать, когда база придет в рабочее состояние и что для этого необходимо еще сделать?

p.s. вопрос данных уже вторичен, нам бы текущую работу запустить...
---
Проходя мимо разложенных граблей, ты теряешь драгоценный опыт. (с)
20 июл 17, 14:52    [20661727]     Ответить | Цитировать Сообщить модератору
 Re: Работоспособность БД зеркала при упавшем основном  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36687
Ваш скрипт благополучно разбирает mirroring с потерей данных на вторичной реплике (если mirroring был в асинхронном режиме).

Статус Restoring означает, что процесс восстановления не окончен (например, не было выполнено recovery).
20 июл 17, 15:19    [20661836]     Ответить | Цитировать Сообщить модератору
 Re: Работоспособность БД зеркала при упавшем основном  [new]
Megabyte
Member

Откуда: ближайшее заМКАДье
Сообщений: 4885
Гавриленко Сергей Алексеевич

Статус Restoring означает, что процесс восстановления не окончен (например, не было выполнено recovery).

Это для базы "Восстановление из копии"? Мне надо как-то запустить процесс восстановления, или команда RESTORE DATABASE DBNAME WITH RECOVERY уже это сделала?
20 июл 17, 15:26    [20661869]     Ответить | Цитировать Сообщить модератору
 Re: Работоспособность БД зеркала при упавшем основном  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36687
Megabyte
Гавриленко Сергей Алексеевич
Статус Restoring означает, что процесс восстановления не окончен (например, не было выполнено recovery).

Это для базы "Восстановление из копии"? Мне надо как-то запустить процесс восстановления, или команда RESTORE DATABASE DBNAME WITH RECOVERY уже это сделала?
Если у базы действительно такой статус, то или не сделала, или вы для нее не выполнили эту команду. Читайте лог сервера, там должен быть статус рекаери.
20 июл 17, 15:29    [20661879]     Ответить | Цитировать Сообщить модератору
 Re: Работоспособность БД зеркала при упавшем основном  [new]
o-o
Guest
Megabyte
RESTORE DATABASE DBNAME WITH RECOVERY

При запуске всех трех команд одна из баз перешла в состояние: Восстановление из копии.
Поздно поняли с начальником, что база ща восстанавливается из какого-то бэкапа.
Посмотрел скриптом, найденным здесь, бэкап от 18.07.


сразу скажу, никаких зеркал знать не знаю.
но из общих соображений,
команда RESTORE DATABASE DBNAME WITH RECOVERY не восстанавливает ни из какого бэкапа.
просто зеркальная база обычно находится в NORECOVERY,
чтобы иметь возможность накатывать поступающие записи лога,
а этой командой база переводится в RECOVERY.
просто переходит в консистентное состояние, не допускающее более никакого наката лога
20 июл 17, 15:32    [20661890]     Ответить | Цитировать Сообщить модератору
 Re: Работоспособность БД зеркала при упавшем основном  [new]
Megabyte
Member

Откуда: ближайшее заМКАДье
Сообщений: 4885
o-o
Megabyte
RESTORE DATABASE DBNAME WITH RECOVERY

При запуске всех трех команд одна из баз перешла в состояние: Восстановление из копии.
Поздно поняли с начальником, что база ща восстанавливается из какого-то бэкапа.
Посмотрел скриптом, найденным здесь, бэкап от 18.07.


сразу скажу, никаких зеркал знать не знаю.
но из общих соображений,
команда RESTORE DATABASE DBNAME WITH RECOVERY не восстанавливает ни из какого бэкапа.
просто зеркальная база обычно находится в NORECOVERY,
чтобы иметь возможность накатывать поступающие записи лога,
а этой командой база переводится в RECOVERY.
просто переходит в консистентное состояние, не допускающее более никакого наката лога

Спасибо.
20 июл 17, 15:38    [20661914]     Ответить | Цитировать Сообщить модератору
 Re: Работоспособность БД зеркала при упавшем основном  [new]
Megabyte
Member

Откуда: ближайшее заМКАДье
Сообщений: 4885
Правильно ли я понимаю, что чтобы вывести базу в статусе recovery(Восстановление из копии) на бывшем зеркале в рабочее состояние, надо накатить последний актуальный бэкап?

Киньте плз вменяемой ссылкой, а что-то сам не могу найти.
20 июл 17, 16:00    [20661983]     Ответить | Цитировать Сообщить модератору
 Re: Работоспособность БД зеркала при упавшем основном  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7385
Megabyte,

Вы лучше прочитайте о зеркалировании, прежде, чем что-то предпринимать. Там не весь процесс можно описать на пальцах.
20 июл 17, 16:12    [20662022]     Ответить | Цитировать Сообщить модератору
 Re: Работоспособность БД зеркала при упавшем основном  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30726
Megabyte
Правильно ли я понимаю, что чтобы вывести базу в статусе recovery(Восстановление из копии) на бывшем зеркале в рабочее состояние, надо накатить последний актуальный бэкап?
"В рабочее состояние" - то есть прекратить состояние зеркалирования? Вместо основной базы включить бывшую зеркальную?

Вам написал o-o - для этого как раз нужно выполнить "Скрипт, оставленный на случай проблем" на зеркальной базе.
Тогда первыми двумя командами выключится зеркалирование, а последней командой база перейдёт из состояния NORECOVERY в состояние RECOVERY, и станет доступна для запросов приложений.
20 июл 17, 16:19    [20662042]     Ответить | Цитировать Сообщить модератору
 Re: Работоспособность БД зеркала при упавшем основном  [new]
Megabyte
Member

Откуда: ближайшее заМКАДье
Сообщений: 4885
Владислав Колосов
Megabyte,

Вы лучше прочитайте о зеркалировании, прежде, чем что-то предпринимать. Там не весь процесс можно описать на пальцах.

Ок.
Буду штудировать. В общем-то процесс понимаю, но дьявол кроется в деталях.

У нас основной сервер восстановили, так что актуализацией данных на зеркале не придется заниматься.
Так что вопрос уже чисто теориетический, как не облажаться в след. раз...
20 июл 17, 16:21    [20662051]     Ответить | Цитировать Сообщить модератору
 Re: Работоспособность БД зеркала при упавшем основном  [new]
Megabyte
Member

Откуда: ближайшее заМКАДье
Сообщений: 4885
alexeyvg
Megabyte
Правильно ли я понимаю, что чтобы вывести базу в статусе recovery(Восстановление из копии) на бывшем зеркале в рабочее состояние, надо накатить последний актуальный бэкап?
"В рабочее состояние" - то есть прекратить состояние зеркалирования? Вместо основной базы включить бывшую зеркальную?

Вам написал o-o - для этого как раз нужно выполнить "Скрипт, оставленный на случай проблем" на зеркальной базе.
Тогда первыми двумя командами выключится зеркалирование, а последней командой база перейдёт из состояния NORECOVERY в состояние RECOVERY, и станет доступна для запросов приложений.

Все дело в том, что база вышла из зеркалирования, но доступной не стала.
Вот у меня и возник вопрос, надо ли что-то еще сделать?
20 июл 17, 16:22    [20662059]     Ответить | Цитировать Сообщить модератору
 Re: Работоспособность БД зеркала при упавшем основном  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36687
Megabyte
У нас основной сервер восстановили, так что актуализацией данных на зеркале не придется заниматься.
Так вы же зеркало собственноручно разобрали и еще базам recovery сделали. Каким таким магическим образом данные после этого актуализируются на зеркале?
20 июл 17, 16:46    [20662156]     Ответить | Цитировать Сообщить модератору
 Re: Работоспособность БД зеркала при упавшем основном  [new]
Megabyte
Member

Откуда: ближайшее заМКАДье
Сообщений: 4885
Гавриленко Сергей Алексеевич
Megabyte
У нас основной сервер восстановили, так что актуализацией данных на зеркале не придется заниматься.
Так вы же зеркало собственноручно разобрали и еще базам recovery сделали. Каким таким магическим образом данные после этого актуализируются на зеркале?

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

+ у нас несколько источников данных, и мы умеем из одних восстанавливать другие.
20 июл 17, 16:53    [20662194]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить