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

Откуда:
Сообщений: 12
Не понимаю как правильно настраивать и восстанавливать full резервное копирование.
А именно, насколько я понял смысл full режима в том, чтобы были:
1. Данные, накопленные до контрольной точки в .BAK файле
2. Данные в журнале транзакций, которые отдуда не удаляются до следуещего бекапа

Но в связи с этим вопрос...
1. Как бэкап из .BAK поднять - понятно, но дальше то делать чего, из .log фала рестор не делается. Чего делать? Как быть?
2. Где правильно лог транзакций хранить, чтобы потом проблем с восстановлением не было. Как это делается на промышленных серверах? Про доставку журнала прочел, но насколько я понял, для этого второй SQL Сервер нужен. Как это с одним SQL сервером делать?
30 ноя 09, 09:40    [7994766]     Ответить | Цитировать Сообщить модератору
 Re: Резервное копирование и восстановление  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5111
посмотрите вот тут
и если останутся вопросы, кричите :)
--------------------------------------------------------------
Дьявол кроется в деталях.
30 ноя 09, 09:46    [7994798]     Ответить | Цитировать Сообщить модератору
 Re: Резервное копирование и восстановление  [new]
На новенького
Guest
Ух сколько тумана напустили.
Какова глобальная задача?
30 ноя 09, 09:48    [7994809]     Ответить | Цитировать Сообщить модератору
 Re: Резервное копирование и восстановление  [new]
doveray
Member

Откуда:
Сообщений: 12
Справку читал, но по сути фигу там вижу :(.

Задача - такая:
обеспечить восстановление БД на лююой момент времени.
Например, в 10.00 сделан бекап, в 11.00 на сервер упало что-то очень тяжелое, нужно в течение часов 4 восстановить базу на 11.00.
Или более мягкое усовие:
Например, в 10.00 сделан бекап, в 11.00 нехороший человек запустил нехороший запрос и удалил то, что удалять не нужно. Нужно восстановить базу на 10.59.

Как сие реализовать? Надеюсь понятно объяснил, чего хочу...
30 ноя 09, 10:00    [7994864]     Ответить | Цитировать Сообщить модератору
 Re: Резервное копирование и восстановление  [new]
Slava_Nik
Member

Откуда: из России
Сообщений: 887
doveray,

А если на 11 часов у тебя висела открытая транзакция с 10 часов, то на какое время нужны данные?
30 ноя 09, 10:05    [7994889]     Ответить | Цитировать Сообщить модератору
 Re: Резервное копирование и восстановление  [new]
Glory
Member

Откуда:
Сообщений: 104760
doveray
Справку читал, но по сути фигу там вижу :(.


Как же вы пропустили тогда статью хелпа Best Practices for Recovering a Database to a Specific Recovery Point ?? А Recovering to a Specific Time ?
30 ноя 09, 10:06    [7994897]     Ответить | Цитировать Сообщить модератору
 Re: Резервное копирование и восстановление  [new]
doveray
Member

Откуда:
Сообщений: 12
Glory
doveray
Справку читал, но по сути фигу там вижу :(.


Как же вы пропустили тогда статью хелпа Best Practices for Recovering a Database to a Specific Recovery Point ?? А Recovering to a Specific Time ?


Ну там не понятно
SQLHelp

RESTORE DATABASE database_name FROM full_backup
WITH NORECOVERY;
RESTORE DATABASE database_name FROM full_differential_backup
WITH NORECOVERY;
RESTORE LOG database_name FROM log_backup
WITH STOPAT = time, RECOVERY;
RESTORE LOG database_name FROM log_backup
WITH STOPAT = time, RECOVERY;


Ну откуда мне бекап лога взять? Если у меня только файл лога есть? По прежнему непонятно.
30 ноя 09, 10:19    [7994963]     Ответить | Цитировать Сообщить модератору
 Re: Резервное копирование и восстановление  [new]
doveray
Member

Откуда:
Сообщений: 12
Slava_Nik
doveray,

А если на 11 часов у тебя висела открытая транзакция с 10 часов, то на какое время нужны данные?

Открытые транзакции меня не интересуют, ими жертвую.
30 ноя 09, 10:21    [7994978]     Ответить | Цитировать Сообщить модератору
 Re: Резервное копирование и восстановление  [new]
Glory
Member

Откуда:
Сообщений: 104760
doveray


Ну откуда мне бекап лога взять? Если у меня только файл лога есть? По прежнему непонятно.

Как откуда ? Делать их нужно. Что ж тут непонятного ?
30 ноя 09, 10:24    [7994996]     Ответить | Цитировать Сообщить модератору
 Re: Резервное копирование и восстановление  [new]
На новенького
Guest
Если в списке возможных проблем присутствует физическое уничтожение сервера то, на мой взгляд необходимо копать в сторону кластеров, зеркалирования и иже с ними.
В остальных случаях - разработка стратегии копирования и восстановления бд. Ссылку, где данные вопросы разясняются Вам дали.
30 ноя 09, 10:25    [7994998]     Ответить | Цитировать Сообщить модератору
 Re: Резервное копирование и восстановление  [new]
doveray
Member

Откуда:
Сообщений: 12
Ну затык у меня... Иногда бывает, не понимаю в справке...
Помогите человеку, нечасто на форумах чего-то спрашиваю.
30 ноя 09, 10:25    [7995005]     Ответить | Цитировать Сообщить модератору
 Re: Резервное копирование и восстановление  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5111
doveray
Ну откуда мне бекап лога взять?

Сделать оный так же как и бэкап базы.
30 ноя 09, 10:26    [7995007]     Ответить | Цитировать Сообщить модератору
 Re: Резервное копирование и восстановление  [new]
doveray
Member

Откуда:
Сообщений: 12
Хорошо, чувтвую, что слишком пространный вопрос задаю, максимально конкретно:

Я настроил: ежедневны full бекап, например на 10.00.
У меня на одном диске С - файл базы, на другом E (Raid 5) log файл.
В 12.00 у меня диск C грохнулся, но full бекап и диск E - уцелел. Чего делать после восстановления из .Bak бекапа, если я на 12.00 восстановить хочу? Незавершенными транзакциями жертвую.

Извиняюсь, что туманными вопросами, форум забиваю, просто думал, что задачка стандартная и вопросов не вызовет, теперь вижу, что это не так.
30 ноя 09, 10:33    [7995049]     Ответить | Цитировать Сообщить модератору
 Re: Резервное копирование и восстановление  [new]
doveray
Member

Откуда:
Сообщений: 12
Дедушка
doveray
Ну откуда мне бекап лога взять?

Сделать оный так же как и бэкап базы.


А как я его сделаю, если база уже свалилась?
30 ноя 09, 10:34    [7995056]     Ответить | Цитировать Сообщить модератору
 Re: Резервное копирование и восстановление  [new]
Glory
Member

Откуда:
Сообщений: 104760
doveray
Дедушка
doveray
Ну откуда мне бекап лога взять?

Сделать оный так же как и бэкап базы.


А как я его сделаю, если база уже свалилась?

А надо было до этого делать
У вас кстати модель восстановления позволяет вообще делать бэкапы лога ?
30 ноя 09, 10:36    [7995070]     Ответить | Цитировать Сообщить модератору
 Re: Резервное копирование и восстановление  [new]
doveray
Member

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

То есть мне каждую минуту бэкапы лога делать, чтобы нужного эффекта добиться, пусть я даже их автоматически буду делать?

Модель восстановления - позволяет, как писал выше выбираю полную (full) модель.
Мда, если это действительно так, то это жесть. Но уже начинаю в это верить. В принципе ничего страшного нету вроде, но некрасиво и по производительности такого решения - надо проверить.

Буду рад, если кто-нибудь мне скажет, что Glory хоть чуть-чуть ошибся, или я с его слов неправильные выводы сделал.

Всем спасибо!
30 ноя 09, 10:52    [7995166]     Ответить | Цитировать Сообщить модератору
 Re: Резервное копирование и восстановление  [new]
Glory
Member

Откуда:
Сообщений: 104760
doveray
Glory,

То есть мне каждую минуту бэкапы лога делать, чтобы нужного эффекта добиться, пусть я даже их автоматически буду делать?


У вас какие-то крайности. То вообще не делать, то каждую минуту
Для начала поймите, что для восстановления нужны бэкапы, а не файлы
30 ноя 09, 10:55    [7995200]     Ответить | Цитировать Сообщить модератору
 Re: Резервное копирование и восстановление  [new]
doveray
Member

Откуда:
Сообщений: 12
Итак, окончательно, по этой ветке, чего я понял:
Чтобы можно было восстановить БД на любой момент времени - нужно:
1. Либо копать в сторону кластеров или доставки журналов транзакций
2. Либо, если такой возможности нет - нужно:
- настроить full резевное копирование данных, можно ежедневное - зависит от того, какой размер журнала устраивает
- настроить ежеменутное резервное копирование журналов (если нужно с точностью до минуты восстанавливать)

УХХХ, Вот такая красота получилась. SQL серверу - респект и уважуха, что из журнала транзакций стандартными методами нельзя рестор сделать. Просто 5+.

Всем спасибо, все понял.
30 ноя 09, 11:03    [7995265]     Ответить | Цитировать Сообщить модератору
 Re: Резервное копирование и восстановление  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5111
doveray
Итак, окончательно, по этой ветке, чего я понял:
Чтобы можно было восстановить БД на любой момент времени - нужно:
1. Либо копать в сторону кластеров или доставки журналов транзакций
2. Либо, если такой возможности нет - нужно:
- настроить full резевное копирование данных, можно ежедневное - зависит от того, какой размер журнала устраивает
- настроить ежеменутное резервное копирование журналов (если нужно с точностью до минуты восстанавливать)

УХХХ, Вот такая красота получилась. SQL серверу - респект и уважуха, что из журнала транзакций стандартными методами нельзя рестор сделать. Просто 5+.

Всем спасибо, все понял.

:)
а есть ещё BACKUP LOG ... WITH NORECOVERY, NO_TRUNCATE
30 ноя 09, 11:05    [7995277]     Ответить | Цитировать Сообщить модератору
 Re: Резервное копирование и восстановление  [new]
Glory
Member

Откуда:
Сообщений: 104760
doveray

- настроить ежеменутное резервное копирование журналов (если нужно с точностью до минуты восстанавливать)

Это яркая иллюстрация к поговорке - заставь дурака молиться, так он и голову расшибет
Не удивительно, что после таких "выводов" Билла Гейтса обвиняют во всех смертных грехах

Для того, чтобы можно было восстановить лог на точку времени, не нужно его делать каждую минуту
Для начала нужно его просто делать.
30 ноя 09, 11:06    [7995283]     Ответить | Цитировать Сообщить модератору
 Re: Резервное копирование и восстановление  [new]
На новенького
Guest
doveray
...Чтобы можно было восстановить БД на любой момент времени - нужно:
1. Либо копать в сторону кластеров или доставки журналов транзакций
...

В сторону класеров и т.д. Вам придется копать если рассматриваеется физическое уничтожение сервера или нет времени для восстановления из бекапов. В остальных случаях (в подавляющем большенстве) достаточно бекапов.
С бекапом лога не все так плохо. Есть возможность выполнить бекап лога и при повреждении mdf файла. Читайте о резервной копии заключительного фрагмента журнала.
30 ноя 09, 11:25    [7995426]     Ответить | Цитировать Сообщить модератору
 Re: Резервное копирование и восстановление  [new]
doveray
Member

Откуда:
Сообщений: 12
Glory
doveray

- настроить ежеменутное резервное копирование журналов (если нужно с точностью до минуты восстанавливать)

Это яркая иллюстрация к поговорке - заставь дурака молиться, так он и голову расшибет
Не удивительно, что после таких "выводов" Билла Гейтса обвиняют во всех смертных грехах

Для того, чтобы можно было восстановить лог на точку времени, не нужно его делать каждую минуту
Для начала нужно его просто делать.


Тогда как настроить нужно? Можете скриптик опубликовать, а я честно попробую.
1. Например в 11.30 запустить full бэкап
2. В 11.40 - чего-нидь добавить в БД нужное
3. В 11.50 - грохнуть это нужное
4. В 12.00 - лог заархивирую
5. Попробую Восстановить на состояние 11.41

Приведите пример - скрипты такого бэкапа, и рестора это лучше, чем обзываться :(
30 ноя 09, 11:27    [7995441]     Ответить | Цитировать Сообщить модератору
 Re: Резервное копирование и восстановление  [new]
Glory
Member

Откуда:
Сообщений: 104760
doveray
Glory
doveray

- настроить ежеменутное резервное копирование журналов (если нужно с точностью до минуты восстанавливать)

Это яркая иллюстрация к поговорке - заставь дурака молиться, так он и голову расшибет
Не удивительно, что после таких "выводов" Билла Гейтса обвиняют во всех смертных грехах

Для того, чтобы можно было восстановить лог на точку времени, не нужно его делать каждую минуту
Для начала нужно его просто делать.


Тогда как настроить нужно? Можете скриптик опубликовать, а я честно попробую.
1. Например в 11.30 запустить full бэкап
2. В 11.40 - чего-нидь добавить в БД нужное
3. В 11.50 - грохнуть это нужное
4. В 12.00 - лог заархивирую
5. Попробую Восстановить на состояние 11.41

Приведите пример - скрипты такого бэкапа, и рестора это лучше, чем обзываться :(

Мда. Пример из хелпа

Restoring to a point-in-time using STOPAT

RESTORE DATABASE AdventureWorks
FROM AdventureWorksBackups
WITH NORECOVERY;

RESTORE LOG AdventureWorks
FROM AdventureWorksBackups
WITH RECOVERY, STOPAT = 'Nov 30, 2009 11:41 AM';


Сообщение было отредактировано: 30 ноя 09, 11:32
30 ноя 09, 11:32    [7995472]     Ответить | Цитировать Сообщить модератору
 Re: Резервное копирование и восстановление  [new]
doveray
Member

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

прошу прощения.. если у меня в 11.59 сбой произошел? И лога нет - чего делать?

или в 12.10 я еще какие-то изменения провел.. а лог только на 12.00 есть?

Не верно задачку сформулировал, потому на этом примере и не видно, что бэкап нужно ежеминутно делать, если с точностью до минуты восставливать надо..

то есть, если я бэкапы делаю раз в полчаса и последний бэкап делался 25 минут назад, рестор 24 минут назад я из сделанных бэкапов не получу.
30 ноя 09, 11:47    [7995594]     Ответить | Цитировать Сообщить модератору
 Re: Резервное копирование и восстановление  [new]
Glory
Member

Откуда:
Сообщений: 104760
doveray
Glory,

прошу прощения.. если у меня в 11.59 сбой произошел? И лога нет - чего делать?

Что такое "сбой" ? В сервер попала бомба ? Отключилась клавиатура ? Сгорел диск с базой ?
Или что вам мешает выполнить команду BACKUP LOG после 11.59 ?
30 ноя 09, 11:50    [7995615]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить