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

Откуда: Москва
Сообщений: 1014
Можно ли корректно восстановить базу из Backup с сохранением репликации используя ключ KEEP_REPLICATION, а потом еще и донакатить журналы транзакций???
Я пробую, и что то никак.

Приведите пожалуйста пример двух скриптов:
1) На восстановление Backup
2) На восстановление лога транзакций.

У меня с восстановление репликации получается только из следующего скрипта:
-- Восстановление базы OK
use master
go
RESTORE DATABASE OK
   FROM DISK='\\Backup\BackupSecondary\OK\OK_db_200410050340.BAK'
   WITH RECOVERY,
      MOVE 'OK_Data' TO 'D:\Base\OK_Data.mdf', 
      MOVE 'OK_Log' TO 'D:\Log\OK_Log.ldf',
KEEP_REPLICATION
go

Но после этого не накатывается лог!!!
Уже и так и этак пытался.
Как быть?
5 окт 04, 17:45    [1010493]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE LOG с опцией KEEP_REPLICATION  [new]
aleksey_fomchenko
Member

Откуда: Москва
Сообщений: 1014
Я решаю проблемму с LogShipping + сервер должен быть полностью сконфигурирован под репликацию (как и ведущий сервер), что бы в случае чего - можно было подменить сервера и не перенастраивать все репликацию.

Я столкнулся с проблеммой:
если я сам хочю подготовить базы (так как если это дело доверить мастеру - он посносит всю репликацию). То есть восстановить Backup с опцией KEEP_REPLICATION + донакатить потом Log-и. Но я не могу одновременно использовать опции NORECOVERY (для не полного восстановления, так как нужно же и транзакции накатывать) совместно с KEEP_REPLICATION (который сохраняет репликацию, при поднятии из Backup).

Как бороть???
6 окт 04, 11:25    [1011799]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE LOG с опцией KEEP_REPLICATION  [new]
aleksey_fomchenko
Member

Откуда: Москва
Сообщений: 1014
up
6 окт 04, 16:26    [1013543]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE LOG с опцией KEEP_REPLICATION  [new]
Александр Гладченко
Member

Откуда:
Сообщений: 10752
Блог
Не перенастраивать после восстановления репликацию можно и без LogShipping.
6 окт 04, 19:22    [1014221]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE LOG с опцией KEEP_REPLICATION  [new]
Ray D
Member

Откуда: from the middle of nowhere
Сообщений: 3598
Блог
Была похожая проблема (в общем-то, и остается):
https://www.sql.ru/forum/actualthread.aspx?bid=1&tid=75547&hl=#542324
Таким образом, если издатель у меня навернется (тьфу-тьфу), восстановить получится только на момент full-бэкапа. И какую же все-таки стратегию резервного копирования применять при использовании репликации? Ведь куча народа использует репликацию, но добиться ответа на этот вопрос я чего-то ни от кого не могу...
7 окт 04, 09:15    [1014751]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE LOG с опцией KEEP_REPLICATION  [new]
Александр Гладченко
Member

Откуда:
Сообщений: 10752
Блог
aleksey_fomchenko
...если я сам хочю подготовить базы (так как если это дело доверить мастеру - он посносит всю репликацию)...


Может быть в этом всё дело... Насколько я понял из https://www.sql.ru/articles/mssql/02092101LogShipping.shtml , можно вначале синхронизировать базы (с KEEP_REPLICATION), а потом уже запускать матер...
7 окт 04, 11:39    [1015328]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE LOG с опцией KEEP_REPLICATION  [new]
aleksey_fomchenko
Member

Откуда: Москва
Сообщений: 1014
Ну так это только
1) поднятие с полного Backup
2) настройка LigShippinga.

Это понятно!

А то хотел поднятие из полного + докатка логов (с сохранением репликации)!
Но видимо так не получится.
Только из полного.

Посоветуйте какие либо еще стратегии защиты от сбоев,
а то LigShipping как то не очень.
7 окт 04, 12:14    [1015479]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE LOG с опцией KEEP_REPLICATION  [new]
aleksey_fomchenko
Member

Откуда: Москва
Сообщений: 1014
И кстате, нефига!!!
База даже после полного Backup-а должна быть в состоянии NORECOVERY или STANDY.
А при это нельзя поднять репликацию из Backup!
Получается - что, вообще нельзя держять на готове репликацию в LogShipp резервируемых базах???
7 окт 04, 12:17    [1015492]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE LOG с опцией KEEP_REPLICATION  [new]
Guest_12
Guest
aleksey_fomchenko

-- Восстановление базы OK
use master
go
RESTORE DATABASE OK
   FROM DISK='\\Backup\BackupSecondary\OK\OK_db_200410050340.BAK'
   WITH RECOVERY,
      MOVE 'OK_Data' TO 'D:\Base\OK_Data.mdf', 
      MOVE 'OK_Log' TO 'D:\Log\OK_Log.ldf',
KEEP_REPLICATION
go


KEEP_REPLICATION

Instructs the restore operation to preserve replication settings when restoring a published database to a server other than that on which it was created. KEEP_REPLICATION is to be used when setting up replication to work with log shipping. It prevents replication settings from being removed when a database or log backup is restored on a warm standby server and the database is recovered. Specifying this option when restoring a backup with the NORECOVERY option is not permitted.
7 окт 04, 12:19    [1015508]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE LOG с опцией KEEP_REPLICATION  [new]
Ray D
Member

Откуда: from the middle of nowhere
Сообщений: 3598
Блог
Guest_12

KEEP_REPLICATION

Instructs the restore operation to preserve replication settings when restoring a published database to a server other than that on which it was created. KEEP_REPLICATION is to be used when setting up replication to work with log shipping. It prevents replication settings from being removed when a database or log backup is restored on a warm standby server and the database is recovered. Specifying this option when restoring a backup with the NORECOVERY option is not permitted.

И дальше что? Во-первых, не совсем понятно, почему такое ограничение.
Во-вторых, КАК ОРГАНИЗОВАТЬ РЕЗЕРВНОЕ КОПИРОВАНИЕ ПРИ РЕПЛИКАЦИИ???
Full backup каждый час делать?
7 окт 04, 13:27    [1015891]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE LOG с опцией KEEP_REPLICATION  [new]
Александр Гладченко
Member

Откуда:
Сообщений: 10752
Блог
В BOL пишут, что можно прикрутить логшипинг к репликации, даже статья есть про это: Transactional Replication and Log Shipping
Типа: When the Publisher fails, restore the last log of the database using the KEEP_REPLICATION option with RESTORE LOG. This will keep all replication settings.
Я сам такое не юзал, т.ч. если получится, раскажите подробно об этом, пожалуйста.

Что же касается восстановление репликации без реинициализации подписчиков и её перенастройки, то в репликации транзакций нужно использовать режим sync with backup, а в репликации слиянием даже этого не нужно, зато бывает полезен альтернативный партнёр репликации. В BOL, кстати, всё очень подробно и понятно написано. Только BOL должен быть обновлённый.
7 окт 04, 13:46    [1016016]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE LOG с опцией KEEP_REPLICATION  [new]
alesksey_fomchenko
Guest
Шаманство...
Но надо на тестовых серваках попробовать.
На сколько я понял - перенос базы из Backupa нужно производить самому.
А как после настройки LogSpipping запустить далее нормально работать влю репликацию, избавить от последствий ЗАМОРОЗКИ sync with backup?
Или после первого Backup-a все начинает работать само?

Но есть вопрос - база должна же быть поднята в состояние RECOVERY???
А как это вяжится с KEEP_REPLICATION???
7 окт 04, 15:32    [1016326]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE LOG с опцией KEEP_REPLICATION  [new]
Александр Гладченко
Member

Откуда:
Сообщений: 10752
Блог
Там же написано, что только последнюю копию журнала нужно поднимать с KEEP_REPLICATION.
7 окт 04, 15:44    [1016390]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE LOG с опцией KEEP_REPLICATION  [new]
aleksey_fomchenko
Member

Откуда: Москва
Сообщений: 1014
Меня интересует не конечный этап (когда падает издатель). Оно то понятно - что имеется ввиду накат последнего лога с KEEP_REPLICATION.

Интересует вот что:
Как быть при ручном поднятии Backup-a? Он ведь делжен быть поднять с сохранением репликации, а значить нужно использовать KEEP_REPLICATION, но при этом для дальнейшего использования LogShipping база должна быть
поднята в режиме NORECOVERY или STANBAY
.
Понятно, что я спрашиваю?
Как быть в середине процесса настройки при поднятии Backup?
7 окт 04, 16:11    [1016537]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE LOG с опцией KEEP_REPLICATION  [new]
Александр Гладченко
Member

Откуда:
Сообщений: 10752
Блог
aleksey_fomchenko
...Как быть при ручном поднятии Backup-a? Он ведь делжен быть поднять с сохранением репликации...


Как раз этого не должно быть, по логике вещей. На то он и сервер горячей подмены. Привязка к репликации логшипинга призвана помочь максимально быстро восстановить репликацию при физической потере издателя/дистрибутора, причём, без потери данных, синхронизации и настроек репликации. Т.е. никто не обещал, что будут одновременно существовать два одинаковых издателя, да это и невозможно. Переделывать резервный сервер в издателя/дистрибутора всё равно придётся, т.к. нужно сменить имя и восстановить всё, что было в старой msdb и базе дистрибуции. Да и из мастера придётся кое что вытащить. Увы, Майкрософт обещал только то, что не понадобиться перенастраивать подписчиков и заново создавать публикацию, а вот работ по подготовке резервного сервера не избежать.
7 окт 04, 17:34    [1016936]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE LOG с опцией KEEP_REPLICATION  [new]
aleksey_fomchenko
Member

Откуда: Москва
Сообщений: 1014
Так, Александр.
Мы не понимаем друг друга.

Я не пытаюсь ни одновременно 2 публикатора держать ни что нибуть еще этакое.

Мой вопрос вот в чем:
Если я подниму базу из Backup на резервном сервере с KEEP_REPLICATION и опцией RECOVERY, LogShipping у меня будет далее накатывать журналы транзакций???

И еще один:
Как после заморозки работы Log Reader Agent и настройки LogShipping запустить дальше нормальную рабочую работу Log Reader Agent???
7 окт 04, 18:02    [1017032]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE LOG с опцией KEEP_REPLICATION  [new]
Александр Гладченко
Member

Откуда:
Сообщений: 10752
Блог
aleksey_fomchenko
Если я подниму базу из Backup на резервном сервере с KEEP_REPLICATION и опцией RECOVERY, LogShipping у меня будет далее накатывать журналы транзакций???


Не нужно поднимать с KEEP_REPLICATION, этот флаг вам понадобиться только в случае быды, для последней копии журнала, ИМХО... я не делат этого, посему стоит это проверить.

aleksey_fomchenko
Как после заморозки работы Log Reader Agent и настройки LogShipping запустить дальше нормальную рабочую работу Log Reader Agent???


Я думаю, нужно будет его просто запустить, эти процессы не связаны явно, хотя и конкурируют за журнал (т.е. нужно позаботиться о производительности массива, где журнал будет жить).
7 окт 04, 19:24    [1017269]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE LOG с опцией KEEP_REPLICATION  [new]
aleksey_fomchenko
Member

Откуда: Москва
Сообщений: 1014
Александр, так без опции KEEP_REPLICATION при поднятии Backup-а из нее же удалятся все записи про репликацию?!
И в чем будет смысл поднять потом последную копию журнала транзакций, если до этого из базы будет удалена вся инфа про репликацию?!

Я конечно буду тестить, но что то тут мутновато.

Если остались какие либо соображения - пиши.
11 окт 04, 14:22    [1023580]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE LOG с опцией KEEP_REPLICATION  [new]
Александр Гладченко
Member

Откуда:
Сообщений: 10752
Блог
Я привёл цитату из BOL, а сам такого никогда не делал, т.ч. вся надежда только на Вас :)
11 окт 04, 15:47    [1024008]     Ответить | Цитировать Сообщить модератору
 Re: RESTORE LOG с опцией KEEP_REPLICATION  [new]
aleksey_fomchenko
Member

Откуда: Москва
Сообщений: 1014
Эх... Жизнь моя жестянка.
Надо протестировать.
11 окт 04, 16:59    [1024429]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить