Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Можно ли "хакнуть" LSN?
|
|||
|---|---|---|---|
|
#18+
Приветствую, коллеги! Начну вопрос с описания матчасти: Итак, ВинСервер 2012R2, МССкуль 2012. Около трёх десятков 1С-овских баз. Каждый понедельник в 5 утра делается полный бэкап всех баз. Каждый час с 10 до 19 делается бэкап транзакций. Каждый день в 23:00 делается инкрементальный бэкап. Каждый понедельник в 1:00 папка "SQLBackup" архивируется и сливается на NAS, после чего SQLBackup удаляется со всем содержимым и создаётся заново (ибо диск не резиновый), и в 5 утра в неё начинают падать бэкапы. Кривовато, конечно, но работало. Тут, в связи с конфликтом в конторе, понадобилось создать копию базы в состоянии на 27 июня (среда), дабы выцепить какой-то конкретный документ. Я захожу на NAS с архивами и вижу полное отсутствие *.bak в нужном файле. Есть *.trn, есть *.inc (я поменял расширение инкрементальных архивов в процессе отладки), а собственно полных бэкапов нет. Как корова Ccleaner языком... Кстати, его там и нет. В более ранних - всё на месте, в более поздних - тоже. А вот примерно за месяц - нет. Но это уже другой вопрос. В итоге, самый свежий *.bak нашёлся от 11 числа. И, самый прикол в том, что восстановить удалось по инкрементам аж по 20 число, среду, т.е. полный бэкап уже три дня как должен был быть слит на NAS. А тем временем инкременты росли в объёме вплоть до воскресенья, 24 июня... Так вот, к чему я. Допустим, я делаю полный бэкап базы от последней восстановленной даты. Пытаюсь скормить для восстановления следующий инкрементальный бэкап. Естественно, скуль ругается на прерванную цепочку LSN, понятно. Могу ли я как-то прописать в полный бэкап тот LSN, который будет принят инкрементальным, или, хотя бы, бэкапом транзакций (я так понимаю, их надо все последовательно накатывать?)? АПДЕЙТ: пока верстался номер, за несколько попыток поднял базу по 24 число включительно. Потом был понедельник и инкременты сдулись со 170 до 5 гигов. Т.е. либо нужен отсутствующий полный бэкап, либо обманывать LSN. Осталось вытянуть всего 2 дня, но эти дни очень важны... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2018, 21:44 |
|
||
|
Можно ли "хакнуть" LSN?
|
|||
|---|---|---|---|
|
#18+
Rotmistr_В итоге, самый свежий *.bak нашёлся от 11 числа. И, самый прикол в том, что восстановить удалось по инкрементам аж по 20 число , среду, т.е. полный бэкап уже три дня как должен был быть слит на NAS . это если он делался Rotmistr_А тем временем инкременты росли в объёме вплоть до воскресенья, 24 июня... а он не делался Rotmistr_Так вот, к чему я. Допустим, я делаю полный бэкап базы от последней восстановленной даты. Пытаюсь скормить для восстановления следующий инкрементальный бэкап. Естественно, скуль ругается на прерванную цепочку LSN, понятно. Могу ли я как-то прописать в полный бэкап тот LSN, который будет принят инкрементальным, или, хотя бы, бэкапом транзакций (я так понимаю, их надо все последовательно накатывать?)? АПДЕЙТ: пока верстался номер, за несколько попыток поднял базу по 24 число включительно. Потом был понедельник и инкременты сдулись со 170 до 5 гигов. Т.е. либо нужен отсутствующий полный бэкап, либо обманывать LSN. перефразирую - парни, как получить неконсистентную базу? https://technet.microsoft.com/en-us/library/2009.07.sqlbackup.aspx Another misconception about full backups is that they only contain data. Both full backups and differential backups also contain some transaction log records so that the restored component (database, file, or filegroup) can be made transactionally consistent. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2018, 22:06 |
|
||
|
Можно ли "хакнуть" LSN?
|
|||
|---|---|---|---|
|
#18+
Rotmistr_Т.е. либо нужен отсутствующий полный бэкап, либо обманывать LSN.Либо уже почитать документацию. Для восстановления на момент Х нужен полный бекап и непрерывная цепочка бекапов журнала транзакций. И не важно сколько в этом промежутке было полных и дифференциальных бекапов. Т.е. если есть полный от 11-го и все бекапы журнала с 11-го и далее, вы сможете восстановить БД на любой момент с 11-го до времени последнего бекапа журнала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2018, 22:10 |
|
||
|
Можно ли "хакнуть" LSN?
|
|||
|---|---|---|---|
|
#18+
komrad перефразирую - парни, как получить неконсистентную базу? Неконсистентную = кривую? Теоретически между 23:00 воскресенья (последний инкремент) и 5:00 понедельника (полный бэкап) транзакций быть не должно, а если и были - нас они не особо волнуют. Так есть возможность поднять бэкап без контроля целостности LSN? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2018, 22:20 |
|
||
|
Можно ли "хакнуть" LSN?
|
|||
|---|---|---|---|
|
#18+
invmДля восстановления на момент Х нужен полный бекап и непрерывная цепочка бекапов журнала транзакций. И не важно сколько в этом промежутке было полных и дифференциальных бекапов. Вы какой из полных бекапов в "этом промежутке" имеете ввиду? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2018, 22:24 |
|
||
|
Можно ли "хакнуть" LSN?
|
|||
|---|---|---|---|
|
#18+
komradВы какой из полных бекапов в "этом промежутке" имеете ввиду?Любой, сделанный после того, который выбран базовым для последующего наката бекапов журнала. Rotmistr_Так есть возможность поднять бэкап без контроля целостности LSN?Нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2018, 22:29 |
|
||
|
Можно ли "хакнуть" LSN?
|
|||
|---|---|---|---|
|
#18+
Rotmistr_komrad перефразирую - парни, как получить неконсистентную базу? Неконсистентную = кривую? да Rotmistr_Теоретически между 23:00 воскресенья (последний инкремент) и 5:00 понедельника (полный бэкап) транзакций быть не должно, а если и были - нас они не особо волнуют. Так есть возможность поднять бэкап без контроля целостности LSN? "что один человек построил, другой завсегда разобрать сможет" (с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2018, 22:29 |
|
||
|
Можно ли "хакнуть" LSN?
|
|||
|---|---|---|---|
|
#18+
invmkomradВы какой из полных бекапов в "этом промежутке" имеете ввиду?Любой, сделанный после того, который выбран базовым для последующего наката бекапов журнала. я тогда зря пользуюсь copy_only ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2018, 22:30 |
|
||
|
Можно ли "хакнуть" LSN?
|
|||
|---|---|---|---|
|
#18+
авторДля восстановления на момент Х нужен полный бекап и непрерывная цепочка бекапов журнала транзакций. Прямо таки непрерывная? Или Полный + Последний Инкрементальный + Цепочка Транзакций до Нужного Момента ? авторТ.е. если есть полный от 11-го и все бекапы журнала с 11-го и далее, вы сможете восстановить БД на любой момент с 11-го до времени последнего бекапа журнала. Ну явно последнего понедельничного бэкапа нет, т.к. инкрементальные резко "похудели". Собственно по воскресенье всё и восстановилось, хотя и непонятно как. Последняя операция 1С от 22 июня, пятница, так что всё корректно. Вопрос, как теперь прикрутить туда инкременты от 25 и 26 числа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2018, 22:33 |
|
||
|
Можно ли "хакнуть" LSN?
|
|||
|---|---|---|---|
|
#18+
авторHEX-редактор никто не отменял в возможность верю, но, подробностей не знаю Во, спасибо. Хоть что-то ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2018, 22:36 |
|
||
|
Можно ли "хакнуть" LSN?
|
|||
|---|---|---|---|
|
#18+
komradя тогда зря пользуюсь copy_onlyТрудно сказать. Вы же не сказали для чего им пользуетесь :) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2018, 22:58 |
|
||
|
Можно ли "хакнуть" LSN?
|
|||
|---|---|---|---|
|
#18+
Rotmistr_Прямо таки непрерывная? Или Полный + Последний Инкрементальный + Цепочка Транзакций до Нужного Момента ?Непрерывная с момента полного (+ возможно дифф), который выбран базовым для восстановления. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2018, 23:03 |
|
||
|
Можно ли "хакнуть" LSN?
|
|||
|---|---|---|---|
|
#18+
Rotmistr_, если 23 и 24 точно никаких операций в базе не было то у всех бэкапов в этот промежуток FirstLSN и LastLSN будет совпадать. и при восстановлении их можно смело пропустить до первого у которого FirstLSN будет равен LastLSN с которого цепочка "заморозилась", а LastLSN будет уже новым. Но все-таки цепочка должна быть непрерывной. А вот чтобы штатными средствами восстановить разорванную цепочку - не слышал. Есть некоторые (полу)автоматические тулзы, которые это умеют, в т.ч. есть и фришные. Поищите по сети типа SQL Backup repair или что-то в этом духе. Подозреваю, что все сильно зависит от версии SQL еще ко всему прочему.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2018, 23:20 |
|
||
|
Можно ли "хакнуть" LSN?
|
|||
|---|---|---|---|
|
#18+
Rotmistr_АПДЕЙТ: пока верстался номер, за несколько попыток поднял базу по 24 число включительно. Потом был понедельник и инкременты сдулись со 170 до 5 гигов. Т.е. либо нужен отсутствующий полный бэкап, либо обманывать LSN.Не думаю, что можно обмануть, в бакапе же копии страниц, и несогласованно старые страницы нельзя взять и скопировать в базу. То есть LSN - это не пустая формальность. Если у вас сохранились бакапы логов (с 24 до 27), то можно просто восстановить логи. Ну и переделать бакапирование, назначить другого ответственного. Надо же, "корова языком", это же важнейшая часть системы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2018, 23:40 |
|
||
|
Можно ли "хакнуть" LSN?
|
|||
|---|---|---|---|
|
#18+
Например: авторDate Time First Last Checkpoint Size 23.06.2018 18:00:46 2588000000611700001 2588000000635200001 2588000000174700001 388096 23.06.2018 23:08:41 2588000000767500157 2588000000774600001 2588000000767500157 175436800 - DIFF 23.06 24.06.2018 10:01:04 2588000000635200001 2588000000988400001 2588000000846200001 2092032 24.06.2018 11:00:47 2588000000988400001 2588000001011800001 2588000000846200001 388096 24.06.2018 12:00:38 2588000001011800001 2588000001036000001 2588000000846200001 388096 24.06.2018 13:00:36 2588000001036000001 2588000001059600001 2588000000846200001 388096 24.06.2018 14:00:33 2588000001059600001 2588000001083400001 2588000000846200001 388096 24.06.2018 15:00:31 2588000001083400001 2588000001108100001 2588000000846200001 388096 24.06.2018 16:00:32 2588000001108100001 2588000001131500001 2588000000846200001 388096 24.06.2018 17:00:43 2588000001131500001 2588000001155500001 2588000000846200001 388096 24.06.2018 18:01:53 2588000001155500001 2588000001179300001 2588000000846200001 388096 24.06.2018 23:13:44 2588000001314600019 2588000001316000001 2588000001314600019 175436800 - DIFF 24.06 30.07.2018 21:45:00 2588000001319700122 2588000001326100001 2588000001319700122 1295315968 - FULL after restore 25.06.2018 10:05:37 2588000001179300001 2588000001572900001 2588000001479400214 2288640 Кроме последних двух строк - цепочка непрерывная, от диффа до диффа, между ними транзакции, но непонятно, к чему привязаны транзакции - вот эти цифры (чекпойнт 2588000000846200001) откуда взялись? Насколько я понимаю, это привязка к какому-то из бэкапов должна быть? Разрыв между диффом от 24 числа и бэкапом, сделанным после восстановления до того же диффа действительно есть... А что если конвертнуть бэкап в SQL-файл и потом импортировать? Такое реально? Пардоньте за возможно идиотские вопросы, я айтишник широкого профиля, но неглубоких знаний, соответственно скуль знаю поверхностно, что-то штатное сделать могу, а вот если "что-то пошло не так"... Спасибо всем заранее ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2018, 00:25 |
|
||
|
Можно ли "хакнуть" LSN?
|
|||
|---|---|---|---|
|
#18+
alexeyvgЕсли у вас сохранились бакапы логов (с 24 до 27), то можно просто восстановить логи. Поподробнее можно? Чьи логи? Где живут? авторНу и переделать бакапирование, назначить другого ответственного. Надо же, "корова языком", это же важнейшая часть системы. @#*^@!!! Работало же оно год почти без сбоев... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2018, 00:30 |
|
||
|
Можно ли "хакнуть" LSN?
|
|||
|---|---|---|---|
|
#18+
Rotmistr_alexeyvgЕсли у вас сохранились бакапы логов (с 24 до 27), то можно просто восстановить логи.Поподробнее можно? Чьи логи? Где живут?Вот эти, если не удалили: Rotmistr_Каждый час с 10 до 19 делается бэкап транзакций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2018, 00:36 |
|
||
|
Можно ли "хакнуть" LSN?
|
|||
|---|---|---|---|
|
#18+
Rotmistr_, Бакапы транзакций могут прерваться только при переводе базы из полного режима логирования. Если вы не переводили, и если файлы сохранились, то можно накатить полный бакап, потом дифф бакап (если есть), а потом восстановить цепочку бакапов транзакций до нужного момента времени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2018, 00:41 |
|
||
|
Можно ли "хакнуть" LSN?
|
|||
|---|---|---|---|
|
#18+
alexeyvgБакапы транзакций могут прерваться только при переводе базы из полного режима логирования.Или кто-то сделал куда-то бэкап лога. Или кто-то сделал куда-то полный бэкап без copy_only. UPD. Хотя нет, вру, полный бэкап не ломает цепочку бэкапов лога, только диф-бэкапы ломает. А вот сбрасывать модель восстановления перед ребилдом индекса -- есть умельцы для 1с советовать. UPD2. Историю снятых бэкапов вроде как еще не советовали смотреть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2018, 00:48 |
|
||
|
Можно ли "хакнуть" LSN?
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей АлексеевичalexeyvgБакапы транзакций могут прерваться только при переводе базы из полного режима логирования.Или кто-то сделал куда-то бэкап лога. Или кто-то сделал куда-то полный бэкап без copy_only. UPD. Хотя нет, вру, полный бэкап не ломает цепочку бэкапов лога, только диф-бэкапы ломает. А вот сбрасывать модель восстановления перед ребилдом индекса -- есть умельцы для 1с советовать.Сделал куда то бакап лога - это не "прервали цепочку", это "пролюбили бакап" :-) Переводить в симпл - конечно, такое часто делают, даже по расписанию, начитавшись вредных советов. Ну, тут уж как повезёт. Да и вообще, они могут не хранить бакапы лога, это всё нужно проверять... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2018, 10:09 |
|
||
|
Можно ли "хакнуть" LSN?
|
|||
|---|---|---|---|
|
#18+
Так, коллеги, либо кто-то плохо читает, либо я плохо объяснил. Повторяю - после полного бэкапа я восстановил две недели через диффы, они же инкременты. Дальше ни диффы, ни логи не накатываются - цепочка LSN прервана. Вопрос в чём: - Можно ли как-то принудительно накатить оставшиеся дни диффами или транзакциями, наплевав на LSN? - Поправить его? - Сконвертировать бэкапы в SQL и импортировать штатными средствами студии? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2018, 13:33 |
|
||
|
Можно ли "хакнуть" LSN?
|
|||
|---|---|---|---|
|
#18+
Rotmistr_Повторяю - после полного бэкапа я восстановил две недели через диффы, они же инкременты.Достаточно накатить последний было. Rotmistr_- Можно ли как-то принудительно накатить оставшиеся дни диффами или транзакциями, наплевав на LSN? - Поправить его? - Сконвертировать бэкапы в SQL и импортировать штатными средствами студии? Сказали же, что нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2018, 13:39 |
|
||
|
Можно ли "хакнуть" LSN?
|
|||
|---|---|---|---|
|
#18+
Rotmistr_Так, коллеги, либо кто-то плохо читает, либо я плохо объяснил. Повторяю - после полного бэкапа я восстановил две недели через диффы, они же инкременты. Дальше ни диффы, ни логи не накатываются - цепочка LSN прервана.Про бакапы лога вы не писали "прервана цепочка LSN". Вы с этиим разберитесь, прервана она или нет, потому что бакапы лога - совсем другая тема, нежели дифф. бакапы. Rotmistr_Вопрос в чём: - Можно ли как-то принудительно накатить оставшиеся дни диффами или транзакциями, наплевав на LSN? - Поправить его? Если у вас есть бакапы логов, и вы не переводили базу в симпл, то можно "накатить оставшиеся дни транзакциями, наплевав на LSN" - это штатный режим восстановления. Диффами нельзя. Поправить нельзя. Rotmistr_- Сконвертировать бэкапы в SQL и импортировать штатными средствами студии?Ну, это в принципе можно, нештатным софтом, только ведь не из чего это делать - у вас же нет бакапов за 27-е, из чего вы будете "конвертировать бэкапы в SQL"? Гавриленко Сергей АлексеевичRotmistr_Повторяю - после полного бэкапа я восстановил две недели через диффы, они же инкременты.Достаточно накатить последний было.Да, дифф бакапы же не "инкременты", непонятно, зачем накатывать все дифф бакапы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2018, 18:23 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39681555&tid=1689337]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 389ms |

| 0 / 0 |
