Kilka interesujących sugestii, które wydają się nieporozumieniem na temat działania kopii zapasowych dzienników. Kopia zapasowa dziennika zawiera WSZYSTKIE dzienniki transakcji wygenerowane od czasu utworzenia poprzedniej kopii zapasowej dziennika, niezależnie od tego, jakie kopie zapasowe są pełne lub różnicowe. Zatrzymywanie tworzenia kopii zapasowych dzienników lub przechodzenie do codziennych pełnych kopii zapasowych nie będzie miało wpływu na rozmiary kopii dzienników. Jedyną rzeczą, która wpływa na dziennik transakcji, jest kopia zapasowa dziennika po uruchomieniu łańcucha kopii zapasowej dziennika.
Jedynym wyjątkiem od tej reguły jest zerwanie łańcucha kopii zapasowej dziennika (np. Przejście do modelu odzyskiwania SIMPLE, przywrócenie z migawki bazy danych, obcięcie dziennika przy użyciu BACKUP LOG WITH NO_LOG / TRUNCATE_ONLY), w którym to przypadku pierwsza kopia zapasowa dziennika będzie zawierał cały dziennik transakcji od ostatniej pełnej kopii zapasowej - co ponownie uruchamia łańcuch kopii zapasowej dziennika; lub jeśli łańcuch tworzenia kopii zapasowej dziennika nie został uruchomiony - po przejściu na FULL po raz pierwszy, działasz w rodzaju pseudo-PROSTEGO modelu odzyskiwania do momentu wykonania pierwszej pełnej kopii zapasowej.
Aby odpowiedzieć na pierwotne pytanie, bez wchodzenia w model odzyskiwania SIMPLE, będziesz musiał zassać kopię zapasową całego dziennika transakcji. W zależności od podejmowanych działań możesz wykonywać częstsze kopie zapasowe dziennika, aby zmniejszyć ich rozmiar, lub wykonywać bardziej ukierunkowaną bazę danych.
Jeśli możesz opublikować informacje o wykonywanych operacjach konserwacyjnych, mogę pomóc w ich optymalizacji. Czy przypadkiem przeprowadzasz przebudowę indeksu, a następnie zmniejszasz bazę danych, aby odzyskać miejsce używane przez przebudowę indeksu?
Jeśli nie ma żadnej innej aktywności w bazie danych podczas konserwacji, możesz wykonać następujące czynności:
- upewnij się, że aktywność użytkownika została zatrzymana
- zrób ostateczną kopię zapasową dziennika (pozwala to odzyskać aż do momentu rozpoczęcia konserwacji)
- przejdź do modelu odzyskiwania SIMPLE
- wykonaj konserwację - dziennik zostanie obcięty w każdym punkcie kontrolnym
- przejdź do pełnego modelu odzyskiwania i wykonaj pełną kopię zapasową
- kontynuować jak zwykle
Mam nadzieję, że to pomoże - czekamy na więcej informacji.
Dzięki
[Edycja: po całej dyskusji na temat tego, czy pełna kopia zapasowa może zmienić rozmiar kolejnej kopii zapasowej dziennika (nie może), przygotowałem obszerny post na blogu z materiałem w tle i skryptem, który to potwierdza. Sprawdź to na https://www.sqlskills.com/blogs/paul/misconceptions-around-the-log-and-log-backups-how-to-convince-yourself/]