Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Зеркало в restoring после контакта со старой восстановленной основной базой и set partner  [new]
Настоящий Ой
Guest
Сами мы не местные, к МССКЛю с поклонами подходим..
Упал сервак с первичной базой, на зеркале была выдана команда
ALTER DATABASE baza SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS
а в это время параллельно уже была запущена основная база, восстановленная по состоянию нескольких часов назад.

Зеркало перешло было в состояние без зеркалирования, потом вернулось в mirroring, очевидно, увидев основную базу. Как это и обещано в документации.

Основная база была остановлена, зеркало той же командой уже успешно было переведено в обычную базу, но осталось в состоянии Restoring...

Теперь команда RESTORE DATABASE baza WITH RECOVERY выдает ошибку
Msg 4303, Level 16, State 1, Line 2
The roll forward start point is now at log sequence number (LSN) .........24000038. Additional roll forward past LSN ......24600001 is required to complete the restore sequence.
Msg 3013, Level 16, State 1, Line 2
RESTORE DATABASE is terminating abnormally.

Можно что-то сделать?
19 мар 14, 23:52    [15756184]     Ответить | Цитировать Сообщить модератору
 Re: Зеркало в restoring после контакта со старой восстановленной основной базой и set partner  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Настоящий Ой
Основная база была остановлена, зеркало той же командой уже успешно было переведено в обычную базу, но осталось в состоянии Restoring...
Это все какие команды, выполненные на каких базах?

Короче, есть хотя бы одна база в нормальном состоянии?
И версия серверов какая?

Сообщение было отредактировано: 20 мар 14, 02:26
20 мар 14, 02:03    [15756509]     Ответить | Цитировать Сообщить модератору
 Re: Зеркало в restoring после контакта со старой восстановленной основной базой и set partner  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Вот эту последовательность я понял:

СобытиеСервер АСервер Б
Начальное состояниеPrincipalMirror
Принципал умираетxMirror
ALTER DATABASE ... SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS на сервере БxPrincipal
Отресторили бэкап на сервере АRestored CopyPrincipal

Дальше распишите что и как вы делали на серверах.
20 мар 14, 02:44    [15756552]     Ответить | Цитировать Сообщить модератору
 Re: Зеркало в restoring после контакта со старой восстановленной основной базой и set partner  [new]
Настоящий Ой!
Guest
Гавриленко Сергей Алексеевич
Настоящий Ой
Основная база была остановлена, зеркало той же командой уже успешно было переведено в обычную базу, но осталось в состоянии Restoring...
Это все какие команды, выполненные на каких базах?

Короче, есть хотя бы одна база в нормальном состоянии?
И версия серверов какая?


Да, это все команды.
Принципал нормально удалось отцепить от зеркалирования уже после попытки на зеркале перевести зеркало в обычную базу в Management Studio. Она нормальная, но данные за несколько часов работы придется восстанавливать руками, а хотелось бы вынуть их из зеркала.
Версия MS SQLServer 2008

Ещё раз:
Принципал после восстановления по состоянию на несколько часов назад от падения была в состоянии Principal и кажется Not syncronized
1.На зеркале:
ALTER DATABASE baza SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS; -- 2 раза, база переходила в Restoring и через некоторое время возвращалась в Mirror,<не помню>
2. Принципал остановлена
3. На зеркале
ALTER DATABASE baza SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS; -- база перешла в Restoring
RESTORE DATABASE baza WITH RECOVERY; -- выдало ошибку
Msg 4303, Level 16, State 1, Line 2
The roll forward start point is now at log sequence number (LSN) .........24000038. Additional roll forward past LSN ......24600001 is required to complete the restore sequence.
Msg 3013, Level 16, State 1, Line 2
RESTORE DATABASE is terminating abnormally.
20 мар 14, 03:01    [15756566]     Ответить | Цитировать Сообщить модератору
 Re: Зеркало в restoring после контакта со старой восстановленной основной базой и set partner  [new]
Настоящий Ой!
Guest
Гавриленко Сергей Алексеевич
Вот эту последовательность я понял:

СобытиеСервер АСервер Б
Начальное состояниеPrincipalMirror
Принципал умираетxMirror
ALTER DATABASE ... SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS на сервере БxPrincipal
Отресторили бэкап на сервере АRestored CopyPrincipal

Дальше распишите что и как вы делали на серверах.


Третью и четвертую строчку нужно поменять местами. Когда выдавалась команда ALTER DATABASE ... , на сервере A принципал уже была отресторена по состоянию на неск часов назад.
20 мар 14, 03:05    [15756569]     Ответить | Цитировать Сообщить модератору
 Re: Зеркало в restoring после контакта со старой восстановленной основной базой и set partner  [new]
Настоящий Ой!
Guest
Гавриленко Сергей Алексеевич
Вот эту последовательность я понял:

СобытиеСервер АСервер Б
Начальное состояниеPrincipalMirror
Принципал умираетxMirror
ALTER DATABASE ... SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS на сервере БxPrincipal
Отресторили бэкап на сервере АRestored CopyPrincipal

Дальше распишите что и как вы делали на серверах.




------------------------------------------------------------------------------------------------
Событие | Сервер А | Сервер Б |
------------------------------------------------------------------------------------------------
Начальное состояние | Principal | Mirror |
-------------------------------------------------------------------------------------------------
Принципал умирает в 18:00 | x | Mirror |
------------------------------------------------------------------------------------------------
Принципал восстановлен по состоянию на 8:00 | Principal, | Mirror, not sync., |
| not syncronized | restoring |
-------------------------------------------------------------------------------------------------
после команды ALTER DATABASE ... | Principal | Restoring |
SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS на сервере Б | not syncronized | |
-------------------------------------------------------------------------------------------------
секунд через 30 зеркало возвращается | Principal, | Mirror, not sync., |
в предыдущее состояние | not syncronized | restoring |
-------------------------------------------------------------------------------------------------
Остановка принципала | x | Mirror, not sync., |
| | restoring |
-------------------------------------------------------------------------------------------------
после команды ALTER DATABASE ... | x | Restoring |
SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS на сервере Б | | |
-------------------------------------------------------------------------------------------------
Поднятие принципала, удаление зеркала | запущено | Restoring |
-------------------------------------------------------------------------------------------------
RESTORE DATABASE baza WITH RECOVERY; | запущено | Restoring |
На сервере Б база не открывается :( | | |
-------------------------------------------------------------------------------------------------
20 мар 14, 03:34    [15756595]     Ответить | Цитировать Сообщить модератору
 Re: Зеркало в restoring после контакта со старой восстановленной основной базой и set partner  [new]
NickAlex66
Member

Откуда:
Сообщений: 319
Настоящий Ой!,
На зеркале
RESTORE LOG db WITH RECOVERY
20 мар 14, 07:43    [15756710]     Ответить | Цитировать Сообщить модератору
 Re: Зеркало в restoring после контакта со старой восстановленной основной базой и set partner  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
По-хорошему, надо было сначала делать файловер на мирроре, а потом ресторить базу на бывшем принципале.

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

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

Т.е. выключаем базу на сервере А.

Далее на сервере Б:
ALTER DATABASE baza SET PARTNER OFF -- Отключаем мирроринг
RESTORE DATABASE baza WITH RECOVERY -- Пытаемся сделать roll forward того, что в логе

Если все хорошо, то поднимаем мирроринг заново через полный бэкап с сервера А.

Вот похожий сценарий: http://www.sqlservercentral.com/Forums/Topic1388062-1549-1.aspx
20 мар 14, 11:05    [15757625]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить