Oznacza to, że raz miałeś jedną transakcję, która trwała tak długo, że zmusiła dziennik do wzrostu 410 GB. Dziennika nie można użyć ponownie, jeśli istnieje aktywna transakcja, ponieważ nie można usunąć informacji o wycofaniu. Taki przykład może mieć miejsce, gdy ktoś otworzy zapytanie SSMS, rozpocznie transakcję, zaktualizuje rekord, a następnie przejdzie w wakacje. Transakcja będzie aktywna i wymusi wzrost logu do momentu zatwierdzenia lub wycofania. Kiedy transakcja zostanie ostatecznie zakończona, zużyta przestrzeń może zostać ostatecznie odzyskana, pozostawiając ogromny pusty plik dziennika.
Innym scenariuszem jest sytuacja, w której w jednej transakcji zaktualizowano około 200 GB danych. Dziennik będzie zapisywał obrazy przed i po zmian, zużywając w ten sposób dwukrotnie więcej miejsca i nie może być ponownie użyty, ponieważ jest to jedna pojedyncza transakcja.
Aktualizacja
I zapomniał wspomnieć replikacji, który jest również czynnikiem, który może zapobiec dziennika obcięcia. I podobnie jest Mirroring, transakcja rozproszona (technicznie to jest to samo, co "aktywna transakcja", ale implikacja DTC czyni to odrębnym przypadkiem). Pełna lista i objaśnienia znajduje się pod adresem Factors That Can Delay Log Truncation.
Nie wyświetliłoby się jako nieprzydzielone miejsce, gdyby było to wycofanie/transakcja w połowie, prawda? – Eric
Dzięki! Brzmi to bardzo możliwe. Czy wiesz, co można zrobić, aby usunąć dziennik, jeśli jest w tym zablokowanym stanie? –
Jeśli wyświetlana jest jako nieprzydzielona, pamięć musi już zostać odebrana przez SIMPLE. Czy kolumna 'log_reuse_wait_desc' z sys.databases dla danej bazy danych mówi" NIC ", czy nie? –