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

Откуда:
Сообщений: 3
Добрый день!
Проблема следующая
Есть задание полного бэкапа:
автор
declare @db varchar(200);
set @db=N'F:\Backup\buh_full_'+convert(varchar(10),getdate(),112)+'.bak';
BACKUP DATABASE [buh] TO DISK = @db WITH RETAINDAYS = 96, NOFORMAT, NOINIT, NAME = N'buh-full', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO


А так же разностного бэкапа:
автор
declare @db varchar(200);
set @db=N'F:\Backup\buh_diff_'+convert(varchar(10),getdate(),112)+'.bak';
BACKUP DATABASE [buh] TO DISK = @db WITH DIFFERENTIAL , RETAINDAYS = 90, NOFORMAT, NOINIT, NAME = N'buh-dif', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO


При попытке восстановления :
автор
restore database test_3 from disk = 'F:\Backup\buh_full_20170416.bak' with NORECOVERY
restore database test_3 from disk = 'F:\Backup\buh_diff_20170417.bak' with NORECOVERY
restore database test_3 with RECOVERY


Выдает:
Обработано 1525896 страниц для базы данных "test_3 ", файл "buh" для файла 1.
Обработано 2 страниц для базы данных "test_3 ", файл "buh_log" для файла 1.
RESTORE DATABASE успешно обработал 1525898 страниц за 97.023 секунд (122.868 MБ/сек).
Сообщение 3136, уровень 16, состояние 1, строка 2
Невозможно восстановить разностную резервную копию, так как база данных не была восстановлена в более раннем состоянии.
Сообщение 3013, уровень 16, состояние 1, строка 2

RESTORE DATABASE прервано с ошибкой.

RESTORE DATABASE успешно обработал 0 страниц за 3.195 секунд (0.000 MБ/сек).

Так же при попытке восстановления через интерфейс, при выборе Восстановить->База Данных->Источник->Устройство (Выбор ближайшего полного и цепочки разностных, например +1 день)->Назначение(база test-3)->OK

Выдает:
Ошибка восстановления базы данных "test_3". (Microsoft.SqlServer.Management.RelationalEngineTasks)
System.Data.SqlClient.SqlError: Невозможно восстановить журнал или разностную резервную копию, так как нет файлов, готовых к накату. (Microsoft.SqlServer.SmoExtended)


Полный бэкап без проблем восстанавливается.
Разностный вообще никак.
Что я делаю не так?
19 май 17, 10:45    [20495293]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление разностных резервных копий  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 5039
Rexxie, Вы нарушили последовательность восстановления, упустили какой-то бэкап в цепочке.
19 май 17, 12:07    [20495752]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление разностных резервных копий  [new]
SQL2008
Member

Откуда:
Сообщений: 3147
Rexxie
Разностный вообще никак.
Что я делаю не так?


Попробуйте так
restore database test_3 from disk = 'F:\Backup\buh_full_20170416.bak' with NORECOVERY
restore database test_3 from disk = 'F:\Backup\buh_diff_20170417.bak' with RECOVERY

И напишите ошибку сюда
19 май 17, 12:37    [20495916]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление разностных резервных копий  [new]
o-o
Guest
показывайте
select 
	   type,
	   backup_start_date,
	   checkpoint_lsn,
	   database_backup_lsn,
	   is_copy_only
from  msdb..backupset
where database_name = 'test_3' and backup_start_date >= '20170416'
order by backup_start_date
19 май 17, 12:46    [20495993]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление разностных резервных копий  [new]
o-o
Guest
SQL2008
Rexxie
Разностный вообще никак.
Что я делаю не так?


Попробуйте так
restore database test_3 from disk = 'F:\Backup\buh_full_20170416.bak' with NORECOVERY
restore database test_3 from disk = 'F:\Backup\buh_diff_20170417.bak' with RECOVERY

И напишите ошибку сюда

что поменяется-то?
у него неверная последовательность,
и это потому, что или кто-то делал полные с копионли (а нам тут пишет типа без)
или кто-то сделал 10 раз бэкап в 1 и тот же файл в один и тот же день, без инит, теперь берет первый из них,
а надо последний за тот же день из того же файла, ибо дифф. от него отсчитывается.
или что-то еще, что сразу в голову не приходит.
но зато каждый дифф. знает, к какому полному он относится: надо смотреть database_backup_lsn,
а у соответствующего полного он будет в checkpoint_lsn
19 май 17, 13:09    [20496151]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление разностных резервных копий  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 34840
NOINIT намекает, что в файле F:\Backup\buh_full_20170416.bak может быть более одного полного бэкапа.
19 май 17, 14:24    [20496554]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление разностных резервных копий  [new]
o-o
Guest
я как бы тоже намекаю, но ТС не реагирует
o-o
или кто-то сделал 10 раз бэкап в 1 и тот же файл в один и тот же день, без инит, теперь берет первый из них,
а надо последний за тот же день из того же файла, ибо дифф. от него отсчитывается.
19 май 17, 14:31    [20496584]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление разностных резервных копий  [new]
Rexxie
Member

Откуда:
Сообщений: 3
SQL2008,
Тоже самое:
автор
Обработано 1525896 страниц для базы данных "test_3", файл "buh" для файла 1.
Обработано 2 страниц для базы данных "test_3", файл "buh_log" для файла 1.
RESTORE DATABASE успешно обработал 1525898 страниц за 94.550 секунд (126.082 MБ/сек).
Сообщение 3136, уровень 16, состояние 1, строка 2
Невозможно восстановить разностную резервную копию, так как база данных не была восстановлена в более раннем состоянии.
Сообщение 3013, уровень 16, состояние 1, строка 2
RESTORE DATABASE прервано с ошибкой.


o-o,

D 2017-04-16 00:03:08.000 22066000000158100044 21944000000013600123 0
D 2017-04-16 20:01:22.000 22073000000383800092 22066000000158100044 0
I 2017-04-17 00:00:01.000 22076000000261400143 22073000000383800092 0
D 2017-04-17 20:01:17.000 22114000000409600060 22073000000383800092 0
I 2017-04-18 00:00:03.000 22114000000650000201 22114000000409600060 0
D 2017-04-18 20:01:19.000 22143000000348800107 22114000000409600060 0
I 2017-04-19 00:00:02.000 22143000000506000026 22143000000348800107 0
D 2017-04-19 20:01:23.000 22157000001587500178 22143000000348800107 0
I 2017-04-20 00:00:03.000 22157000001814900063 22157000001587500178 0
D 2017-04-20 20:01:23.000 22179000002203000239 22157000001587500178 0
I 2017-04-21 00:00:02.000 22179000002522300177 22179000002203000239 0
D 2017-04-21 20:01:15.000 22195000001030100101 22179000002203000239 0
I 2017-04-22 00:00:02.000 22195000001252800022 22195000001030100101 0


автор
что поменяется-то?
у него неверная последовательность,
и это потому, что или кто-то делал полные с копионли (а нам тут пишет типа без)
или кто-то сделал 10 раз бэкап в 1 и тот же файл в один и тот же день, без инит, теперь берет первый из них,
а надо последний за тот же день из того же файла, ибо дифф. от него отсчитывается.
или что-то еще, что сразу в голову не приходит.
но зато каждый дифф. знает, к какому полному он относится: надо смотреть database_backup_lsn,
а у соответствующего полного он будет в checkpoint_lsn


Задания скопированы 1в1.


Ещё есть бэкап на уровне Veeam (целиком виртуальную среду)
Это влияет?
19 май 17, 14:46    [20496648]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление разностных резервных копий  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 34840
Rexxie
Ещё есть бэкап на уровне Veeam (целиком виртуальную среду)
Это влияет?
Не влияет только бэкап, сделанный с copy_only.
19 май 17, 14:47    [20496655]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление разностных резервных копий  [new]
o-o
Guest
D	2017-04-16 00:03:08.000	22066000000158100044	21944000000013600123	0
D 2017-04-16 20:01:22.000 22073000000383800092 22066000000158100044 0
I 2017-04-17 00:00:01.000 22076000000261400143 22073000000383800092 0
ну вот же.
вы сделали в тот день, 2017-04-16, 2 полных.
и дифф отсчитывается от второго (2017-04-16 20:01:22.000).
вот его(второй) и надо брать в качестве полного для восстановления (file = 2)
19 май 17, 15:13    [20496773]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление разностных резервных копий  [new]
Rexxie
Member

Откуда:
Сообщений: 3
o-o,

Понял, спасибо!
Проблема в том, что бэкап на уровне виртуальной среды.
И так просто он не доступен (нет файла .bak на диске каком-либо)
Надо менять расписание бэкапов.
И искать выходы на файлы, уже сделанные..
Спасибо!
19 май 17, 15:53    [20496898]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить