Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Хочу понять и запомнить последователньость работы журнала и самой файла данных  [new]
Дон НЕпедро
Guest
Добрый день всем.
Хочу понять и запомнить последовательность операций. Дополните если я не прав
1 шаг. пользователь изменил данные запустив процедуру на update
2 шаг. новые и старые данные сохранились в журнале транзакций
3 шаг. данные из журнала переписались в файл бд (mdf)

Если на 2 шаге произошел сбой, то при повторном запуске MS SQL - дозапишет незафиксированные данные из журнала. Так?
Вопрос такой: если данные сохраняются в журнале, то можно ли как то вручную восстановить данные которые были удалены например сегодня утром, но бэкап был вчера. Если доступ к журналу и сохраняются ли там данные и в какмо виде они хранятся. Смотрел программу которая позволяет ковыряться в журнале, но там и не понял.
Прошу внести ясность в мою голову по поводу этого
24 окт 12, 13:05    [13368056]     Ответить | Цитировать Сообщить модератору
 Re: Хочу понять и запомнить последователньость работы журнала и самой файла данных  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
1. Будет откат транзакции.
2. Вручную нет. Есть какие то утилки. А вообще лучше использовать к полному бэкапу бэкап журнала транзакций и восстанавливать с stop at
24 окт 12, 13:11    [13368107]     Ответить | Цитировать Сообщить модератору
 Re: Хочу понять и запомнить последователньость работы журнала и самой файла данных  [new]
Guest_131
Guest
Дон НЕпедро,

Для понимания внутреннего устройства можно почитать: http://www.sqlcmd.ru/trans_log_internals-part01.html
24 окт 12, 13:20    [13368182]     Ответить | Цитировать Сообщить модератору
 Re: Хочу понять и запомнить последователньость работы журнала и самой файла данных  [new]
Дон НЕпедро
Guest
Ozerov
1. Будет откат транзакции.
2. Вручную нет. Есть какие то утилки. А вообще лучше использовать к полному бэкапу бэкап журнала транзакций и восстанавливать с stop at


По откату: если данные засели в журнале, то при повторном запуске SQL SERVER, эти данные не перекочуют в файл данных? И пользователю заново их вводить. Вот здесь непоняьно, где то читал что перекочуют

По бэкапу журнала: например вчера был полный бэкап базы и журнала, утром в 11:00 пользователь ошибочно изменил данные, но с 8:00, до 11:00 другие делали кучу изменений. Т.е. если накатить вчерашний бэкап, то пропадут все данные за сегодня. А вот как восстановить только ошибки в 11:00 без затрагивания уже внесенных данных с 8:00 до 11:00. Такое вообще возможно?
24 окт 12, 13:26    [13368220]     Ответить | Цитировать Сообщить модератору
 Re: Хочу понять и запомнить последователньость работы журнала и самой файла данных  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
автор
По откату: если данные засели в журнале, то при повторном запуске SQL SERVER, эти данные не перекочуют в файл данных? И пользователю заново их вводить. Вот здесь непоняьно, где то читал что перекочуют


Если транзакция не завершена - будет откат.
Если завершена - "перекачуют" по чекпоинту

автор
По бэкапу журнала: например вчера был полный бэкап базы и журнала, утром в 11:00 пользователь ошибочно изменил данные, но с 8:00, до 11:00 другие делали кучу изменений. Т.е. если накатить вчерашний бэкап, то пропадут все данные за сегодня. А вот как восстановить только ошибки в 11:00 без затрагивания уже внесенных данных с 8:00 до 11:00. Такое вообще возможно?


Для этого выполняется бэкап журналов транзакций после полного бэкапа. Восстанавливается полный бэкап, потом бэкапы журналов с Stop at . Указывается время, на которое восстанавливается. Почитайте Restore Transaction logs
24 окт 12, 13:34    [13368287]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить