|
Восстановление разностного бекапа
|
|||
---|---|---|---|
#18+
Доброго времени суток. У меня два скуля: 1) Microsoft SQL Server 2019 (RTM-GDR) (KB4583458) - 15.0.2080.9 (X64) Nov 6 2020 16:50:01 Copyright (C) 2019 Microsoft Corporation Standard Edition (64-bit) on Windows Server 2019 Standard 10.0 <X64> (Build 17763: ) (Hypervisor) 2) Microsoft SQL Server 2019 (RTM-GDR) (KB4583458) - 15.0.2080.9 (X64) Nov 6 2020 16:50:01 Copyright (C) 2019 Microsoft Corporation Developer Edition (64-bit) on Windows Server 2019 Standard 10.0 <X64> (Build 17763: ) (Hypervisor) На скуле 1 настроены три плана обслуживания: Фулл, дифф, трн. Мне понадобилось восстановить дифф на скуле 2 за 28-ое число. Фулл был снят 25-го. Сначала попробовал восстановить фулл на 25-ое и дифф на 26-ое. Фулл восстанавливается. Дифф при восстановлении пишет ошибку: "Невозможно восстановить разностную резервную копию, так как база данных не была восстановлена в более раннем состоянии." Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Пробовал ставить File=2 при восстановлении фулл: Идентификатор файла 2 на устройстве "G:\Backup\ERPWORK_backup_2021_07_25_024738_0538777.backup" сформирован неправильно и не может быть прочитан. Проверяю LSN на сервере 1: Код: sql 1. 2. 3. 4.
name first_lsn last_lsn type is_copy_only NULL 7466000015432800001 7466000015508000001 D 0 ERPWORK_backup_2021_07_25_024738_0538777 7513000012877600001 7513000012880000001 D 0 NULL 7514000061180000139 7514000061188800001 D 0 ERPWORK_backup_2021_07_26_014140_0210250 7515000082893600001 7515000082896000001 I 0 ERPWORK_backup_2021_07_26_090001_9701465 7373000074437600001 7516000062263200001 L 0 ERPWORK_backup_2021_07_26_100002_4520952 7516000062263200001 7516000079853600001 L 0 Проверил заголовки бэкапов на сервере 2: Код: sql 1. 2.
FirstLSN LastLSN CheckpointLSN DatabaseBackupLSN BackupStartDate BackupFinishDate 7513000012877600001 7513000012880000001 7513000012877600001 7466000015496800047 2021-07-25 02:47:38.000 2021-07-25 02:48:26.000 -- фулл 7515000082893600001 7515000082896000001 7515000082893600001 7514000061180000139 2021-07-26 01:41:40.000 2021-07-26 01:41:43.000 -- дифф Галка "Только резервное копирование" не установлена. Подскажите пожалуйста: Что такое NULL, откуда он берётся? Он возникает не у всех фуллов. В чём у меня косяк? Как восстановить бэкап? Как избежать таких ошибок в будущем? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 01:18 |
|
Восстановление разностного бекапа
|
|||
---|---|---|---|
#18+
esqado, Значит кто-то еще бекапит кроме вас. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 02:18 |
|
Восстановление разностного бекапа
|
|||
---|---|---|---|
#18+
esqado Что такое NULL, откуда он берётся?Подобное поведение я видел у левых тулов, которые бакапят весь сервер целиком. Ищите подробности у других таблиц msdb базы кроме backupset https://www.mssqltips.com/sqlservertip/6042/sql-server-backup-and-restore-history-queries/ esqado Как восстановить бэкап?Восстанавливайте из бакапа логов на нужную дату/время esqado Как избежать таких ошибок в будущем? Отловить моменты левых полных бакапов. Узнать имя софта который их делает. Настроить в этом софте "не писать ничего в msdb" ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 04:55 |
|
Восстановление разностного бекапа
|
|||
---|---|---|---|
#18+
esqado Подскажите пожалуйста: Что такое NULL, откуда он берётся? Он возникает не у всех фуллов. посмотрите историю бекапов и вычислите "левые" бекапы: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 10:40 |
|
Восстановление разностного бекапа
|
|||
---|---|---|---|
#18+
komrad, Может я что-то не правильно делаю, но вывод пустой. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 10:47 |
|
Восстановление разностного бекапа
|
|||
---|---|---|---|
#18+
Relic Hunter, Не берусь утверждать, но вроде больше некому. Какой-то там аудитор рядом ставил виртуалку veeam для анализа сервера (предположительно железного). Не знаю, может это как-то влиять на бэкапы. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 10:50 |
|
Восстановление разностного бекапа
|
|||
---|---|---|---|
#18+
esqado, дефолтная трассировка имеет ограниченное время хранения информации. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 10:52 |
|
Восстановление разностного бекапа
|
|||
---|---|---|---|
#18+
esqado, подобные проблемы решаются настройками безопасности, разрешите выполнять резервное копирование только ограниченной и доверенной группе логинов, а лучше - только одному. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 10:53 |
|
Восстановление разностного бекапа
|
|||
---|---|---|---|
#18+
esqado komrad, Может я что-то не правильно делаю, но вывод пустой. первый скрипт проверил последний из файлов этот скрипт проверит все 5 файлов: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 11:29 |
|
Восстановление разностного бекапа
|
|||
---|---|---|---|
#18+
SERG1257, esqado Как восстановить бэкап? Восстанавливайте из бакапа логов на нужную дату/время У меня есть полный и разностный бэкап. Что такое бэкап логов? esqado Как избежать таких ошибок в будущем? Отловить моменты левых полных бакапов. Узнать имя софта который их делает. Настроить в этом софте "не писать ничего в msdb" Не ожидал, что может быть какой-то левый софт. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 11:30 |
|
Восстановление разностного бекапа
|
|||
---|---|---|---|
#18+
SERG1257 Отловить моменты левых полных бакапов. Узнать имя софта который их делает. Настроить в этом софте "не писать ничего в msdb" Это не изменит того, что полный бекап сделается и последующие diff-ы будут делаться относительно него. esqado У меня есть полный и разностный бэкап. Что такое бэкап логов? Есть три типа бекапов. и они у вас все делаются FULL (msdb..backupset.type = 'D') DIFF (msdb..backupset.type = 'I') LOG (msdb..backupset.type = 'L') ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 12:29 |
|
Восстановление разностного бекапа
|
|||
---|---|---|---|
#18+
SERG1257 Есть три типа бекапов. и они у вас все делаются FULL (msdb..backupset.type = 'D') DIFF (msdb..backupset.type = 'I') LOG (msdb..backupset.type = 'L') Да, все три вида бэкапов создаются. Разве возможно восстановить из лога без диффа? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 13:49 |
|
Восстановление разностного бекапа
|
|||
---|---|---|---|
#18+
esqado SERG1257 Есть три типа бекапов. и они у вас все делаются FULL (msdb..backupset.type = 'D') DIFF (msdb..backupset.type = 'I') LOG (msdb..backupset.type = 'L') Да, все три вида бэкапов создаются. Разве возможно восстановить из лога без диффа? Да ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 13:55 |
|
Восстановление разностного бекапа
|
|||
---|---|---|---|
#18+
msLex, Увы, мне логи транзакций нужны только за текущий и предыдущий день. Я как раз рассчитывал на диффы и трн при восстановлении. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 15:27 |
|
Восстановление разностного бекапа
|
|||
---|---|---|---|
#18+
esqado msLex, Увы, мне логи транзакций нужны только за текущий и предыдущий день. Я как раз рассчитывал на диффы и трн при восстановлении. Найдите, что делает фулл бекапы вне мейтенс плана и - либо используйте его полный бекап - либо перенастройте его на copy_only бекап - либо отключите его Восстановить дифф на предпоследний полный бекап физически невозможно, в нем просто нет для этого информации. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 15:37 |
|
Восстановление разностного бекапа
|
|||
---|---|---|---|
#18+
Если Veeam снаружи фигачит, то тут к бабке не ходи. Бекапит всех и вся. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 16:44 |
|
Восстановление разностного бекапа
|
|||
---|---|---|---|
#18+
esqado Возможно full бакап идет с флагом COPY_ONLY, в таком варианте диф будет искать последний фулл без флага. Если нажать правой педалькой мыши ма нужную базу и пройти в своийства - то там можно найти дату последнего фулл бакапа, который прошел без флага COPY_ONLY. От этой даты и отталкиваться. П.С> а почему не восстановится логами? или бакапов логов до дифа нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 17:06 |
|
Восстановление разностного бекапа
|
|||
---|---|---|---|
#18+
Col esqado Возможно full бакап идет с флагом COPY_ONLY, в таком варианте диф будет искать последний фулл без флага. Нет. Между дифф и фулом должен быть ещё один или более дифф. 7513000012877600001 7513000012880000001 7513000012877600001 7466000015496800047 2021-07-25 02:47:38.000 2021-07-25 02:48:26.000 -- фулл 7515000082893600001 7515000082896000001 7515000082893600001 7514000061180000139 2021-07-26 01:41:40.000 2021-07-26 01:41:43.000 -- дифф ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 17:48 |
|
Восстановление разностного бекапа
|
|||
---|---|---|---|
#18+
msLex Это не изменит того, что полный бекап сделается и последующие diff-ы будут делаться относительно него. в том то и дело что полный бакап НЕ ДЕЛАЕТСЯ. Делается снапшот дисков, что тебе еще надо, собака (с) Если копнуть в историю бакапов то именем файла бакапа будет или пусто или гуид какой-нибудь. Как с этим боротся это отдельный вопрос (я в свое время отключал сервис SQL Server VSS writer чтобы не бодатся с сисадминами), но наверняка есть цивилизованный способ. С другой стороны ТС получил урок - Диффы не так нужны как бакапы логов. Диффы не надо делать часто, (а с бакапами логов можно не стеснятся, хоть каждую минуту) И самый главный - верить никому нельзя, бакап считается сделаным если с него получилось восстановится. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 17:52 |
|
Восстановление разностного бекапа
|
|||
---|---|---|---|
#18+
a_voronin Между дифф и фулом должен быть ещё один или более дифф. Вам мягко говоря "показалось". SQL не умеет делать инкрементальные бакапы. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 19:31 |
|
Восстановление разностного бекапа
|
|||
---|---|---|---|
#18+
Relic Hunter Если Veeam снаружи фигачит, то тут к бабке не ходи. Бекапит всех и вся. Админ клянётся, что veeam бэкапит только машину, скуль он не трогает. Я с этой штукой не работал, настройки не видел. Да и админу не верю )) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 23:07 |
|
Восстановление разностного бекапа
|
|||
---|---|---|---|
#18+
Col esqado Возможно full бакап идет с флагом COPY_ONLY, в таком варианте диф будет искать последний фулл без флага. Если нажать правой педалькой мыши ма нужную базу и пройти в своийства - то там можно найти дату последнего фулл бакапа, который прошел без флага COPY_ONLY. От этой даты и отталкиваться. копионли не стоит. проверял запросом. в поле стоят нолики. визуально посмотрел в менеджере - галка снята. Col esqado П.С> а почему не восстановится логами? или бакапов логов до дифа нет? У меня логи только на текущий день и на предыдущий. При запуске диффа стоит очистка логов старше двух дней. У меня в голове не сложилось, что такая ситуация может возникнуть, что дифф может не восстановиться. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 23:12 |
|
Восстановление разностного бекапа
|
|||
---|---|---|---|
#18+
a_voronin Col esqado Возможно full бакап идет с флагом COPY_ONLY, в таком варианте диф будет искать последний фулл без флага. Нет. Между дифф и фулом должен быть ещё один или более дифф. 7513000012877600001 7513000012880000001 7513000012877600001 7466000015496800047 2021-07-25 02:47:38.000 2021-07-25 02:48:26.000 -- фулл 7515000082893600001 7515000082896000001 7515000082893600001 7514000061180000139 2021-07-26 01:41:40.000 2021-07-26 01:41:43.000 -- дифф 25-ое - воскресенье. В 00 запускается фулл и на этом всё. Никто не работает и делать на сервере особо нечего. Это два файла, созданных друг за другом. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 23:16 |
|
Восстановление разностного бекапа
|
|||
---|---|---|---|
#18+
komrad esqado komrad, Может я что-то не правильно делаю, но вывод пустой. первый скрипт проверил последний из файлов этот скрипт проверит все 5 файлов: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
В зависимости от времени запуска скрипт показывает разное количество файлов и не с начала дня. Честно признаюсь, у меня не было днём возможности погрузиться в вывод и я не понял, что скрипт выводит. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 23:18 |
|
Восстановление разностного бекапа
|
|||
---|---|---|---|
#18+
SERG1257 msLex Это не изменит того, что полный бекап сделается и последующие diff-ы будут делаться относительно него. Если копнуть в историю бакапов то именем файла бакапа будет или пусто или гуид какой-нибудь. Как с этим боротся это отдельный вопрос (я в свое время отключал сервис SQL Server VSS writer чтобы не бодатся с сисадминами), но наверняка есть цивилизованный способ. С другой стороны ТС получил урок - Диффы не так нужны как бакапы логов. Диффы не надо делать часто, (а с бакапами логов можно не стеснятся, хоть каждую минуту) И самый главный - верить никому нельзя, бакап считается сделаным если с него получилось восстановится. Да уж. Не люблю такие уроки. Хорошо, что ситуация не рабочая, понадобилось всего лишь какой-то документ посмотреть. бакап считается сделаным если с него получилось восстановится. Каким образом можно проверять баки на восстанавливаемость? Не восстанавливать же каждый день по приходу на работу. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 23:24 |
|
|
start [/forum/topic.php?fid=46&fpage=18&tid=1684437]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 162ms |
0 / 0 |