Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 The database cannot be recovered because the log was not restored  [new]
Hornpipe
Member

Откуда:
Сообщений: 4
Получил девяностогиговый бекап, судя по всему с обрезанным логом:
restore filelistonly from disk='E:\MSSQL Data\Backups\db_20120608_data.backup'

db	D:\MSSQL\Data\db.mdf	D	PRIMARY	88945459200	35184372080640	1	0	0	4F68FC44-FDF2-4605-A065-CE258B3020C7	0	0	88712282112
db_log	E:\MSSQL\Data\db_log.ldf	L	NULL	17760256	2199023255552	2	0	0	B2544410-459D-4F85-910E-9EC84B140B62	0	0	0


При попытке восстановить базу выдает искомую ошибку и отправляет базу в состояние Restoring...
RESTORE DATABASE [db] 
FILE = N'db' 
FROM  DISK = N'E:\MSSQL Data\Backups\db_20120608_data.backup' 
WITH  FILE = 1,  
MOVE N'db' TO N'E:\MSSQL Data\\db.mdf',  
MOVE N'db_log' TO N'E:\MSSQL Data\\db.ldf',  
RECOVERY,  NOUNLOAD,  REPLACE,  STATS = 10
GO

100 percent processed.
Processed 10829136 pages for database 'db', file 'db' on file 1.
The database cannot be recovered because the log was not restored.
This RESTORE statement successfully performed some actions, but the database could not be brought online because one or more RESTORE steps are needed. Previous messages indicate reasons why recovery cannot occur at this point.
RESTORE DATABASE ... FILE=<name> successfully processed 10829136 pages in 2787.047 seconds (30.355 MB/sec).


Прислать другой бекап не представляется возможным, доступа к базе нет и не будет. Попытки сделать restore database db with recovery само собой ни к чему не приводят. Извиняюсь, если уже было, но толком ответа из похожих тем я для себя не подчерпнул.
20 июн 12, 13:44    [12745595]     Ответить | Цитировать Сообщить модератору
 Re: The database cannot be recovered because the log was not restored  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
https://www.sql.ru/forum/afsearch.aspx?s=This+RESTORE+statement+successfully+performed+some+actions%2C+but+the+database+could+not+be+brought+online+because+one+or+more+RESTORE+steps+are+needed&submit=%CD%E0%E9%F2%E8&bid=1
20 июн 12, 13:47    [12745621]     Ответить | Цитировать Сообщить модератору
 Re: The database cannot be recovered because the log was not restored  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
FILE = N'db' - а вот это зачем?
20 июн 12, 13:48    [12745633]     Ответить | Цитировать Сообщить модератору
 Re: The database cannot be recovered because the log was not restored  [new]
Hornpipe
Member

Откуда:
Сообщений: 4
Гавриленко Сергей Алексеевич, спасибо за Ваше внимание к моему вопросу, но все указанные Вами темы я уже прочитал. Пока не помогло. По поводу FILE = N'db' - эта строчка была сгенерирована визардом (я вначале пробовал восстановить через интерфейc и выбрал генерацию скрипта, в котором пытался разобраться).
20 июн 12, 13:53    [12745689]     Ответить | Цитировать Сообщить модератору
 Re: The database cannot be recovered because the log was not restored  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Hornpipe
Гавриленко Сергей Алексеевич, спасибо за Ваше внимание к моему вопросу, но все указанные Вами темы я уже прочитал. Пока не помогло. По поводу FILE = N'db' - эта строчка была сгенерирована визардом (я вначале пробовал восстановить через интерфейc и выбрал генерацию скрипта, в котором пытался разобраться).
Ваш скрипт восстанавливает из бэкапа только файл данных, но не восстанавливает лог. Естественно, что не восстановленный лог потом отрекаверить не получается.
20 июн 12, 14:03    [12745793]     Ответить | Цитировать Сообщить модератору
 Re: The database cannot be recovered because the log was not restored  [new]
Hornpipe
Member

Откуда:
Сообщений: 4
Гавриленко Сергей Алексеевич, попытка восстановить лог приводит к:
The backup set in file 'E:\MSSQL Data\Backups\db_20120608_data.backup' was created by BACKUP DATABASE...FILE=<name> and cannot be used for this restore operation.


P.S. А без этих логов обойтись вообще возможно? Мне по сути нужны сами данные, без возможности откатов и т.д. Если можно, то как?
20 июн 12, 14:14    [12745897]     Ответить | Цитировать Сообщить модератору
 Re: The database cannot be recovered because the log was not restored  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3637
Hornpipe
Гавриленко Сергей Алексеевич, попытка восстановить лог приводит к:
The backup set in file 'E:\MSSQL Data\Backups\db_20120608_data.backup' was created by BACKUP DATABASE...FILE=<name> and cannot be used for this restore operation.


P.S. А без этих логов обойтись вообще возможно? Мне по сути нужны сами данные, без возможности откатов и т.д. Если можно, то как?

Ну Вам же говорят, у Вас неправильный скрипт, надо базу восстанавливать.

RESTORE DATABASE [AccReport] FROM  DISK = N'J:\Backup.Sherp.0\AccReport.bak'


без всяких там

FILE = N'db' 
20 июн 12, 14:16    [12745926]     Ответить | Цитировать Сообщить модератору
 Re: The database cannot be recovered because the log was not restored  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Hornpipe
Гавриленко Сергей Алексеевич, попытка восстановить лог приводит к:
The backup set in file 'E:\MSSQL Data\Backups\db_20120608_data.backup' was created by BACKUP DATABASE...FILE=<name> and cannot be used for this restore operation.


P.S. А без этих логов обойтись вообще возможно? Мне по сути нужны сами данные, без возможности откатов и т.д. Если можно, то как?
Значит, этот бэкап восстановить не получится. Нужен бэкап лога с момента начала вашего бэкапа по момент его окончания.
20 июн 12, 14:27    [12746052]     Ответить | Цитировать Сообщить модератору
 Re: The database cannot be recovered because the log was not restored  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
http://support.microsoft.com/kb/281122/en-us?fr=1
You must use file and filegroup backup and restore operations in conjunction with transaction log backups. After you restore the files, you must restore the transaction log backups that were created since the file backups were created to bring the database to a consistent state. It is not necessary to apply a transaction log backup if SQL Server can determine that the files or filegroups have not been modified after the file or filegroup backup was created.
20 июн 12, 14:30    [12746092]     Ответить | Цитировать Сообщить модератору
 Re: The database cannot be recovered because the log was not restored  [new]
Hornpipe
Member

Откуда:
Сообщений: 4
Гавриленко Сергей Алексеевич]]Значит, этот бэкап восстановить не получится. Нужен бэкап лога с момента начала вашего бэкапа по момент его окончания.


Жаль (. Большое спасибо за помощь!
20 июн 12, 14:33    [12746129]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить