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

Откуда:
Сообщений: 14
Здравствуйте, All.

Возникла задача восстановления базы из логов

Сервер: SQL2005
Полный BACKUP базы есть
Ближайший дифференциалный к необходимому времени - есть
Есть "хвост" файлов с логами транзакций, а начальных файлов нет.
Нужно восстановит базу на определенный момент времени.
Возможно ли это в данной ситуации?

Заранее спасибо.
8 окт 13, 17:56    [14941264]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы  [new]
файловый хвост
Guest
IK53204
Есть "хвост" файлов с логами транзакций, а начальных файлов нет.

вот тут поподробнее
8 окт 13, 18:05    [14941341]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы  [new]
IK53204
Member

Откуда:
Сообщений: 14
Истина где-то тут? :)
8 окт 13, 18:10    [14941368]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
IK53204
Истина где-то тут? :)


Вас спрашивают, хвост откуда растет?
8 окт 13, 18:21    [14941433]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы  [new]
IK53204
Member

Откуда:
Сообщений: 14
Понял, извините.

Хронологически так:
- Полный BACKUP
- начало логов транзакций
- дифференциальные логи
- середина логов транзакций
- дифференциальные логи
- окончание ("хвост") логов транзакций

Файлов "начала логов транзакций" и "середины логов транзакций" нет.
Есть только некоторое количество файлов окончания.
8 окт 13, 18:30    [14941479]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы  [new]
BuKTaP
Member

Откуда:
Сообщений: 132
После дифференциального бэкапа все предыдушие бэкапы логов (да и дифы) для восстановления не нужны.
Т.е. восстанавливаете фул, последний диф и потом по порядку логи.

В вашем случае так:

- Полный BACKUP - восстанавливаете
- начало логов транзакций - не нужно
- дифференциальные логи - не нужно
- середина логов транзакций - не нужно
- дифференциальные логи - восстанавливаете
- окончание ("хвост") логов транзакций - восстанавливаете

Поправьте кто-нибудь, если не прав.
8 окт 13, 18:40    [14941514]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31957
IK53204
Хронологически так:
- Полный BACKUP
- начало логов транзакций
- дифференциальные логи
- середина логов транзакций
- дифференциальные логи
- окончание ("хвост") логов транзакций
Восстанавливаете полный бакап, потом последний дифф, потом последний бакап лога.
Все необходимые файлы у вас есть, ничего не потеряно.
8 окт 13, 18:42    [14941522]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31957
BuKTaP
После дифференциального бэкапа все предыдушие бэкапы логов (да и дифы) для восстановления не нужны.
Да, совершенно верно.
8 окт 13, 18:42    [14941526]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы  [new]
BuKTaP
Member

Откуда:
Сообщений: 132
потом последний бакап лога

Разве только последний? Логи нужно накатывать все по порядку.
8 окт 13, 18:46    [14941544]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы  [new]
Гость333
Member

Откуда:
Сообщений: 3683
alexeyvg
потом последний бакап лога

Или цепочку бэкапов лога. А то из описания не очень понятно, состоит ли "хвост" из одного бэкапа или нескольких.
8 окт 13, 18:47    [14941553]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы  [new]
IK53204
Member

Откуда:
Сообщений: 14
А как быть с таким сообщением об ошибке восстановления файлов логов (отвечая на вопрос сколько их: их несколько)

Msg 4305, Level 16, State 1, Line 39
The log in this backup set begins at LSN 34000000034600001, which is too recent to apply to the database. An earlier log backup that includes LSN 34000000033500001 can be restored.
Msg 3013, Level 16, State 1, Line 39
RESTORE LOG is terminating abnormally.

Если цепочка идет сначала, то все нормально, если начала нет (как в данном случае), то
возникает приведенная ошибка нарушения последовательности транзакций, невзирая на наличие
дифференциального BACKUP
8 окт 13, 18:57    [14941592]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
IK53204
если начала нет (как в данном случае), то
возникает приведенная ошибка нарушения последовательности транзакций, невзирая на наличие
дифференциального BACKUP


Или Вы нас вводите в заблуждение и у Вас нет всех бэкапов логов после дифференциального бэкапа. Приведите результат RESTORE HEADERONLY для полного бэкапа, последнего дифф. бэкапа и бэкапов лога. Лучше в виде пркрепленного csv файла.
8 окт 13, 19:28    [14941721]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31957
BuKTaP
потом последний бакап лога

Разве только последний? Логи нужно накатывать все по порядку.
Все по порядку, начиная от последнего бакапа (полного или дифф), а не с момента производства компьютера :-)
8 окт 13, 21:17    [14942002]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы  [new]
перевожу тут
Guest
IK53204
Хронологически так:
- Полный BACKUP
- начало логов транзакций
- дифференциальные логи
- середина логов транзакций
- дифференциальные логи
- окончание ("хвост") логов транзакций

Файлов "начала логов транзакций" и "середины логов транзакций" нет.
Есть только некоторое количество файлов окончания.


начало логов транзакций, середина логов транзакций, окончание логов транзакций = кучка бэкапов лога
дифференциальные логи = дифференциальные бэкапы
файлы окончания = несколько бэкапов лога после последнего дифференциального
"окончание ("хвост") логов транзакций" переводу не подлежит, т.к. бывает всего 1 tail of the log backup,
а у ТС имеется приписка "Есть только некоторое количество файлов окончания"

итого имеем:
full backup (Полный BACKUP)

log backup (начало логов транзакций)
...
log backup (начало логов транзакций)

differential backup (дифференциальные логи)

log backup (середина логов транзакций)
...
log backup (середина логов транзакций)

differential backup (дифференциальные логи)

log backup (окончание логов транзакций)
...
log backup (окончание логов транзакций)

'Файлов "начала логов транзакций" и "середины логов транзакций" нет.
Есть только некоторое количество файлов окончания.' =
'из последней кучки бэкапов лога (после последнего дифа) имеется только "некоторое количество" '

т.е. диагноз:
восстановить можно на момент последнего дифа
8 окт 13, 22:50    [14942287]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31957
перевожу тут
Есть только некоторое количество файлов окончания.' =
'из последней кучки бэкапов лога (после последнего дифа) имеется только "некоторое количество" '
Все так поняли автора, что у него есть все файлы бакапа лога после последнего дифф. бакапа.
Если это не так, то тогда, конечно, на последний момент времени не восстановить.
9 окт 13, 09:28    [14942994]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы  [new]
IK53204
Member

Откуда:
Сообщений: 14
В "окончание" входят не все логи BACKUP сразу после дифа, а только самая последняя часть, т.е.
в хронологической последовательности имеющихся логов дифа и транзакций есть "дырка"

Я полностью согласен с "перевожу тут", все так и есть.

Спасибо, вы развеяли мои сомнения.
9 окт 13, 10:58    [14943376]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить