|
Помогите написать запрос
|
|||
---|---|---|---|
#18+
Добрый день, Мне нужно создать список всех файлов бекапов баз на сервере, начиная с последнего полного, затем последнего differential (если он существует) и всех бекапов логов, которые произошли с последнего differential (если он существует) или с последнего полного ( (если differential не существует). Вот что у меня получилось (ниже). Проблема с неопределенностью differential бекапа. У некоторых баз он может быть, а у некоторых нет. Если последний юнион соединять с полным бекапом, то получится куча ненужных бекапов логов. Если с differential бекапом и он отсутствует, вообще ничего путного не получится. Запрос ниже также не предусматривает ситуации, когда differential бекап существует, но он раньше полного. Как мне обойти эту неопределенность в запросе? Спасибо. Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2020, 03:05 |
|
Помогите написать запрос
|
|||
---|---|---|---|
#18+
Ну чем тебя можно утешить? Дифференциальные бякапы БЕСПОЛЕЗНЫ для восстановления журнала. Журнал восстанавливается от полного бякапа. Поэтому суп отдельно и мухи отдельно. Но если желание неизбывно... 1. Список ВСЕХ полных, дифф., логов в порядке следования полн1 лог1 дифф1 дифф2 лог3 лог4 дифф3 лог5 лог6 полн2 2. Нумеруем все по-порядку 1 полн1 2 лог1 3 дифф1 4 лог2 5 дифф2 5 лог3 7 лог4 8 дифф3 9 лог5 10 лог6 11 полн2 4. Выбираем все полные 5. Выбираем для каждого полного 1 дифф с максимальным номером, но меньшим полного. Если такого нет - выбираем номер полного. 6. Выбираем для каждого полного ВСЕ лог с номером меньше номера полного и больше номера дифф. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2020, 08:36 |
|
|
start [/forum/topic.php?fid=46&fpage=56&tid=1685987]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 282ms |
total: | 411ms |
0 / 0 |