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

Откуда:
Сообщений: 1
Добрый день!

Сильно не пинайте, только осваиваюсь. Подскажите пожалуйста, как скриптами восстановить из бекап файла базу у которой настроено зеркалирование? т.е. на первом сервере имеется база которая зеркалируется в базу на втором сервере. после нехороших действий нужно восстанавливать базу и ее зеркало из бекап файла(делается предварительно перед порчей баз)

как я понял нужно в основной базе и в зеркале выполнить команду "ALTER DATABASE [TEST] SET PARTNER OFF"

далее восстанавливаю основную базу
USE [master]
ALTER DATABASE [test] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
RESTORE DATABASE [test] FROM DISK = N'D:\111.bak' WITH FILE = 4, NOUNLOAD, REPLACE, STATS = 5
ALTER DATABASE [test] SET MULTI_USER

потом делаю восстановление базы которая будет зеркалом. база на другом сервере.

USE [master]
ALTER DATABASE [test] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
RESTORE DATABASE [test] FROM DISK = N'D:\111.bak' WITH FILE = 4, NORECOVERY, NOUNLOAD, REPLACE, STATS = 5
ALTER DATABASE [test] SET MULTI_USER

далее в зеркале выполняю запрос "ALTER DATABASE TEST SET PARTNER = 'TCP://Server1:5023'"

а на основной выполняю "ALTER DATABASE TEST SET PARTNER = 'TCP://Server1:5022'"

и вроде как должно все должно быть хорошо!
23 ноя 17, 17:07    [20978707]     Ответить | Цитировать Сообщить модератору
 Re: Восстановить из бекапа базу с настроенным зеркалированием  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36694
В хелпе же все написано английским по белому:

Remove Database Mirroring (SQL Server)
Setting Up Database Mirroring (SQL Server)

З.Ы. После рестора базы на основной реплике скорее всего придется сделать с нее как минимум один бэкап лога и накатить на восстановленную копию базы на зеркале.
23 ноя 17, 17:18    [20978756]     Ответить | Цитировать Сообщить модератору
 Re: Восстановить из бекапа базу с настроенным зеркалированием  [new]
ЕвгенийGEM
Member

Откуда:
Сообщений: 94
Jangar, прошу прощения за возможное невозможное выполнение моего совета, но из своего опыта все же скажу-между доставкой журналов транзакций и зеркалированием-я выберу первое (аргумент-в первом случае все можно автоматизировать, в том числе и отработку отказа с последующим восстановлением)
24 ноя 17, 09:39    [20979884]     Ответить | Цитировать Сообщить модератору
 Re: Восстановить из бекапа базу с настроенным зеркалированием  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
ЕвгенийGEM,
вы хотите сказать, что automatic failover не у зеркала, а у log shipping?
я люблю открывать для себя все новое, плиз, давайте подтверждающую ссылку
24 ноя 17, 09:57    [20979927]     Ответить | Цитировать Сообщить модератору
 Re: Восстановить из бекапа базу с настроенным зеркалированием  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 5162
ЕвгенийGEM
Jangar, прошу прощения за возможное невозможное выполнение моего совета, но из своего опыта все же скажу-между доставкой журналов транзакций и зеркалированием-я выберу первое (аргумент-в первом случае все можно автоматизировать, в том числе и отработку отказа с последующим восстановлением)


открою секрет - во втором случае и автоматизировать не нужно, т.к. само работает
что, наверно, для кого-то и минус ;)
24 ноя 17, 11:44    [20980333]     Ответить | Цитировать Сообщить модератору
 Re: Восстановить из бекапа базу с настроенным зеркалированием  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 5162
Гавриленко Сергей Алексеевич
З.Ы. После рестора базы на основной реплике скорее всего придется сделать с нее как минимум один бэкап лога и накатить на восстановленную копию базы на зеркале.

обычно этого не требуется и базы зеркалятся из одного бекапа

Автор, главное, чтобы на основном сервере бэкап лога или базы не проскочил (отключить штатные бекап-джобы), пока готовите базу на зеркале.
24 ноя 17, 11:46    [20980342]     Ответить | Цитировать Сообщить модератору
 Re: Восстановить из бекапа базу с настроенным зеркалированием  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36694
komrad
Автор, главное, чтобы на основном сервере бэкап лога или базы не проскочил (отключить штатные бекап-джобы), пока готовите базу на зеркале.
Я не уверен, что после recovery в журнал ничего не пишется. Но даже если так, первая же транзакция на базе потребует снятия бэкапа лога.
24 ноя 17, 12:40    [20980607]     Ответить | Цитировать Сообщить модератору
 Re: Восстановить из бекапа базу с настроенным зеркалированием  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 5162
Гавриленко Сергей Алексеевич
komrad
Автор, главное, чтобы на основном сервере бэкап лога или базы не проскочил (отключить штатные бекап-джобы), пока готовите базу на зеркале.
Я не уверен, что после recovery в журнал ничего не пишется. Но даже если так, первая же транзакция на базе потребует снятия бэкапа лога.


хоть это и не по теме, но только что добавил базу восстановленную из одного и того же фулл-бекапа (с прода) в AG-группу на обоих серверах primary & secondary в другой среде (UAT)
никаких лог-бекапов с с прода не потребовалось

касательно мирроринга:

Гавриленко Сергей Алексеевич
первая же транзакция на базе потребует снятия бэкапа лога.


если зеркало было разорвано (alter database ... set partner off) и прошли изменения по основной базе,
то,
при отсутствии всех бекапов на основной базе и если зеркальную базу не трогали,
можно заново восстановить мирроринг не прибегая к синхронизации баз командой
alter database ... set partner='tcp://xxxx:yyy'
на основном сервере
24 ноя 17, 15:21    [20981270]     Ответить | Цитировать Сообщить модератору
 Re: Восстановить из бекапа базу с настроенным зеркалированием  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 5162
Jangar
RESTORE DATABASE [test] FROM DISK = N'D:\111.bak' WITH FILE = 4, NOUNLOAD, REPLACE, STATS = 5
...
RESTORE DATABASE [test] FROM DISK = N'D:\111.bak' WITH FILE = 4, NORECOVERY, NOUNLOAD, REPLACE, STATS = 5

советую бекапы делать в разные файлы, иначе потом обыщитесь где у вас что и из какой версии бекапа восстанавливаться
24 ноя 17, 16:09    [20981425]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить