понедельник, 17 мая 2010 г.

MS SQL восстановление базы данных из разностных бекапов.

При попытке восстановить копию базы данных их разностной резервной копии, хранящейся отдельным файлом, за частую вылазить ошибка "Невозможно восстановить журнал или разностную резервную копию, так как нет файлов, готовых к накату".
Как с этим бороться:
1. Запускаем MS SQL Manager
2. Выбираем из списка доступных БД, системную базу и вызываем окно запроса. Если вы попробуете запустить запрос в окне вызванном с вашей базы данных, получите сообщение, о том что база уже используется в данной сессии.
3. Выполнить запрос

restore database DBNAME from disk = 'c:\DBNAME.bak' with NORECOVERY
restore database DBNAME from disk = 'c:\DBNAME.df1' with NORECOVERY
restore database DBNAME with RECOVERY


И еще одно. Резервные копии должны идти по порядку, иначе вы все равно получите ошибку о том что нет части данных для восстановления.

5 комментариев:

Анонимно комментирует...

Огромное спасибо!

Саша комментирует...

Да, помогло)

Анонимно комментирует...

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

Nikita комментирует...

Умиляет то что многие вообще ничего не читают, не говоря уже про учебники

Анонимно комментирует...

У меня выполняется полный бэкап каждый день.
Полную копию из bak каждый день надо будет накатывать чтобы потом разворачивалась и работала разностная копия ?