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

Откуда: Toronto
Сообщений: 523
Уважаемые гуру, прокомментируйте пожалуйста описанный случай:

Дано:
-SQL Server 2k,
-база данных, скажем, с именем DB
-Backup device на сетевом диске, одно для всех типов бекапов, назовем его DBbkp.

Реализуется следующая стратегия:
-Один раз в неделю в воскресенье с 12 ночи до 2:30 максимум - backup database DB to DBbkp with init
Каждые 3 часа ежедневно с 6 утра до полуночи - backup database DB to DBbkp with differential, noinit
Каждые 15 минут ежедневно с 3 ночи до полуночи - backup log DB to DBbkp with noinit
Все делается job'ами, но не в рамках DB maintenance plan.

Восстанавливаю с бекапа копию этой базы данных для разработчиков. Дело в ночь со вторника на среду, то есть мы имеем полный бекап с 2 ночи воскресенья, далее довольно длинную цепочку из дифф и tlog бекапов, последний дифф пару часов назад и несколько tlog после него. Restore с полного проходит нормально, база оставляется в read-only, а от последнего диффа SQL отказывается - говорит, что база не может быть восстановлена. (Прошу прощения, не снял точное сообщение) Вспомнил, что один из диффов (во вторник в 6 утра) в цепочке завершился аварийно по недостатку disk space, после чего я утром диск с бекап девайсом почистил и выполнил дифф вручную, вернее стартовал его job, после чего все было нормально.

Так вот, с тех диффов, которые были перед аварийным, база восстанавливалась, со всех последующих - нет. Пришлось еще раз брать полный бекап.

Я до сих пор считал, что дифферент бекап не зависит от предыдущих дифферент бекапов, кроме полного, и бекапит все, что наработалось со времени последнего полного бекапа. Другими словами ему наплевать, как закончились и были ли вообще предыдущие дифференциальные бекапы. В чем я был неправ? Сомнительный момент тут, когда я писал все бекапы в один девайс, файл девайса, конечно, был ненормально длинный, порядка 60 гигов, и содержал сотни бекапов. Структура файла нарушилась? И что произойдет, если под дифф бекапы использовать отдельный девайс, даже с опцией init, и один из них таки завершится ошибкой? Что будет с последующими?

Сейчас пока сделал ежедневный full backup with init, для краткости цепочки, но хотелось бы данные хранить больше, чем за сутки, мало ли... А на несколько полных места нет.
28 июн 04, 21:51    [769902]     Ответить | Цитировать Сообщить модератору
 Re: Wrong chain of differential backups?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
автор
Так вот, с тех диффов, которые были перед аварийным, база восстанавливалась, со всех последующих - нет.


Да, точное сообщение об ошибке хотелось бы услышать. Ибо следующий скрипт без проблем работает.

USE pubs
GO

BACKUP DATABASE pubs TO DISK = 'c:\pubs_full.dmp' WITH INIT
GO

UPDATE authors SET au_id = au_id
GO

BACKUP DATABASE pubs TO DISK = 'c:\pubs_diff.dmp' WITH INIT, DIFFERENTIAL
GO

UPDATE authors SET au_id = au_id
GO
--а теперь бэкапим на диск, которого нет.

BACKUP DATABASE pubs TO DISK = 'Z:\pubs_diff.dmp' WITH INIT, DIFFERENTIAL GO UPDATE authors SET au_id = au_id GO BACKUP DATABASE pubs TO DISK = 'c:\pubs_diff1.dmp' WITH INIT, DIFFERENTIAL GO USE master RESTORE DATABASE pubs FROM DISK = 'c:\pubs_full.dmp' WITH NORECOVERY GO RESTORE DATABASE pubs FROM DISK = 'c:\pubs_diff1.dmp' WITH RECOVERY GO

автор
Структура файла нарушилась?


Ну, может быть...

автор
И что произойдет, если под дифф бекапы использовать отдельный девайс, даже с опцией init, и один из них таки завершится ошибкой? Что будет с последующими?


Да судя по приведенному скрипту все нормально должно быть. Так что пишите кажый бэкап в отедльный файл. Так и управлять легче будет бэкапами, чем одним файлом на 60 гиг. Тем более, что нельзя из такого файла частями удалять.
29 июн 04, 08:56    [770185]     Ответить | Цитировать Сообщить модератору
 Re: Wrong chain of differential backups?  [new]
А.Панков
Member

Откуда: Toronto
Сообщений: 523
Да, пожалуй с одним файлом - это я перемудрил. Проще надо быть :) Спасибо за отзыв и анализ.
29 июн 04, 23:03    [772984]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить