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

Откуда:
Сообщений: 236
Уважаемые гуру, подскажите как это сделать.

SQL Sever 2012 Std on Win 2008R2SP1
БД модель восстановления -Full
Еженощные полные бэкапы
Каждые 15 минут бэкап лога

Не могли бы Вы мне привести алгоритм такого отката.
Заранее спасибо.
25 июн 13, 15:52    [14481092]     Ответить | Цитировать Сообщить модератору
 Re: Откатить состояние БД на 20 минут назад. Как?  [new]
Shakill
Member

Откуда: мск
Сообщений: 1882
OYM,

http://msdn.microsoft.com/ru-ru/library/ms179451.aspx
25 июн 13, 15:54    [14481105]     Ответить | Цитировать Сообщить модератору
 Re: Откатить состояние БД на 20 минут назад. Как?  [new]
OYM
Member

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

не совсем понятно как восстановиться из последовательности файлов на диске?
Например у меня есть 15 файлов бэкапов логов. Как написать инструкцию?
25 июн 13, 16:10    [14481267]     Ответить | Цитировать Сообщить модератору
 Re: Откатить состояние БД на 20 минут назад. Как?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37155
OYM
Shakill,

не совсем понятно как восстановиться из последовательности файлов на диске?
Например у меня есть 15 файлов бэкапов логов. Как написать инструкцию?
Только из 15 файлов бэкапа лога вы ничего не восстановите. Нужен полный бэкап.
25 июн 13, 16:11    [14481284]     Ответить | Цитировать Сообщить модератору
 Re: Откатить состояние БД на 20 минут назад. Как?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37155
Ну и да. По ссылке даже пример есть.
25 июн 13, 16:13    [14481295]     Ответить | Цитировать Сообщить модератору
 Re: Откатить состояние БД на 20 минут назад. Как?  [new]
Shakill
Member

Откуда: мск
Сообщений: 1882
OYM, дочитайте статью до конца, там пример
25 июн 13, 16:14    [14481313]     Ответить | Цитировать Сообщить модератору
 Re: Откатить состояние БД на 20 минут назад. Как?  [new]
Spartakich
Member

Откуда: Riga
Сообщений: 380
OYM,

restore database [database_name] from disk = 'x:\full.bak' with norecovery
restore log [database_name] from disk = 'x:\log1.bak' with norecovery
restore log [database_name] from disk = 'x:\log2.bak' with norecovery
................
restore log [database_name] from disk = 'x:\logxxx.bak' with STOPAT '2013-06-25 10:00:02.260', recovery
25 июн 13, 16:15    [14481328]     Ответить | Цитировать Сообщить модератору
 Re: Откатить состояние БД на 20 минут назад. Как?  [new]
OYM
Member

Откуда:
Сообщений: 236
Spartakich
OYM,

restore database [database_name] from disk = 'x:\full.bak' with norecovery
restore log [database_name] from disk = 'x:\log1.bak' with norecovery
restore log [database_name] from disk = 'x:\log2.bak' with norecovery
................
restore log [database_name] from disk = 'x:\logxxx.bak' with STOPAT '2013-06-25 10:00:02.260', recovery


то есть я могу это сделать на живой базе?
Я хочу откатить именно живую базу, а не разворачивать рядом копию на момент времени.
Я так понял первая инструкция приведет базу в состояние на 02.00 часа этого дня
вторая накатить лог с 02.00 до 02.15
и последняя накатить лог на искомое мне время?
25 июн 13, 17:07    [14481779]     Ответить | Цитировать Сообщить модератору
 Re: Откатить состояние БД на 20 минут назад. Как?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
OYM
то есть я могу это сделать на живой базе?
Я хочу откатить именно живую базу, а не разворачивать рядом копию на момент времени.
Я так понял первая инструкция приведет базу в состояние на 02.00 часа этого дня
вторая накатить лог с 02.00 до 02.15
и последняя накатить лог на искомое мне время?


Ничего, что Вы потеряете всё, что было после "20 минут назад"?
25 июн 13, 17:13    [14481822]     Ответить | Цитировать Сообщить модератору
 Re: Откатить состояние БД на 20 минут назад. Как?  [new]
OYM
Member

Откуда:
Сообщений: 236
pkarklin
OYM
то есть я могу это сделать на живой базе?
Я хочу откатить именно живую базу, а не разворачивать рядом копию на момент времени.
Я так понял первая инструкция приведет базу в состояние на 02.00 часа этого дня
вторая накатить лог с 02.00 до 02.15
и последняя накатить лог на искомое мне время?


Ничего, что Вы потеряете всё, что было после "20 минут назад"?


А мне это и нужно
25 июн 13, 17:33    [14481980]     Ответить | Цитировать Сообщить модератору
 Re: Откатить состояние БД на 20 минут назад. Как?  [new]
OYM
Member

Откуда:
Сообщений: 236
pkarklin
OYM
то есть я могу это сделать на живой базе?
Я хочу откатить именно живую базу, а не разворачивать рядом копию на момент времени.
Я так понял первая инструкция приведет базу в состояние на 02.00 часа этого дня
вторая накатить лог с 02.00 до 02.15
и последняя накатить лог на искомое мне время?


Ничего, что Вы потеряете всё, что было после "20 минут назад"?


То есть все что было после 20 минут назад, есть "неправильные данные полученные вследствие ошибочных действий пользователей"
25 июн 13, 17:34    [14481984]     Ответить | Цитировать Сообщить модератору
 Re: Откатить состояние БД на 20 минут назад. Как?  [new]
OYM
Member

Откуда:
Сообщений: 236
pkarklin
OYM
то есть я могу это сделать на живой базе?
Я хочу откатить именно живую базу, а не разворачивать рядом копию на момент времени.
Я так понял первая инструкция приведет базу в состояние на 02.00 часа этого дня
вторая накатить лог с 02.00 до 02.15
и последняя накатить лог на искомое мне время?


Ничего, что Вы потеряете всё, что было после "20 минут назад"?

У меня еще вопрос к Вам. Могу ли я это делать на живой базе с подключенными соединениями. Или я должен убить все сессии пользователей, перевести базу в монопольный режим и лишь после этого делать все это?
25 июн 13, 17:36    [14481989]     Ответить | Цитировать Сообщить модератору
 Re: Откатить состояние БД на 20 минут назад. Как?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
OYM
У меня еще вопрос к Вам. Могу ли я это делать на живой базе с подключенными соединениями.


Нет, не можете. Восстановление бэкапа по верх существующей - это полное перезатирание существующей бд данными из бэкапа. БД будет недоступна до окончания процесса восстановления.
25 июн 13, 17:42    [14482005]     Ответить | Цитировать Сообщить модератору
 Re: Откатить состояние БД на 20 минут назад. Как?  [new]
OYM
Member

Откуда:
Сообщений: 236
pkarklin
OYM
У меня еще вопрос к Вам. Могу ли я это делать на живой базе с подключенными соединениями.


Нет, не можете. Восстановление бэкапа по верх существующей - это полное перезатирание существующей бд данными из бэкапа. БД будет недоступна до окончания процесса восстановления.

Спасибо.
25 июн 13, 17:45    [14482020]     Ответить | Цитировать Сообщить модератору
 Re: Откатить состояние БД на 20 минут назад. Как?  [new]
HelenM
Member

Откуда: Москва
Сообщений: 53
OYM
то есть я могу это сделать на живой базе?
Я хочу откатить именно живую базу, а не разворачивать рядом копию на момент времени.


Я бы не стала так рисковать...
"Живую" базу - временно отключите пользователей. Восстановите рядом. Потом можно будет переименовать.
Либо - прежде чем восстанавливаться - полная рез.копия.
26 июн 13, 09:07    [14483803]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить