Dziennik transakcji dla bazy danych "" jest pełny. Aby dowiedzieć się, dlaczego miejsca w dzienniku nie można ponownie użyć, zobacz kolumnę log_reuse_wait_desc w sys.databases. Proszę pomóż mi rozwiązać ten problem. Z góry dzięki.Dziennik transakcji dla bazy danych "databasename" jest pełny.
Odpowiedz
Najbardziej prawdopodobną odpowiedzią jest potrzebne do uruchomienia dziennika kopii zapasowych lub istnieje otwarta transakcja.
Tutaj jest trochę więcej, aby pomóc ...
uruchomić ten skrypt na serwerze:
-- last FULL backup
;with FULLBUs
as (
select d.name, max(b.backup_finish_date) as 'Last FULL Backup'
from sys.databases d
join msdb.dbo.backupset b
on d.name = b.database_name
where b.type = 'D'
group by d.name
),
-- last LOG backup for FULL and BULK_LOGGED databases
LOGBUs
as (
select d.name, max(b.backup_finish_date) as 'Last LOG Backup'
from sys.databases d
join msdb.dbo.backupset b
on d.name = b.database_name
where d.recovery_model_desc <> 'SIMPLE'
and b.type = 'L'
group by d.name
)
-- general overview of databases, recovery model, and what is filling the log, last FULL, last LOG
select d.name, d.state_desc, d.recovery_model_desc, d.log_reuse_wait_desc, f.[Last FULL Backup], l.[Last LOG Backup]
from sys.databases d
left outer join FULLBUs f
on d.name = f.name
left outer join LOGBUs l
on d.name = l.name
where d.name not in ('model', 'TempDB')
order by d.name
To zapytanie daje ogólny przegląd swoich baz danych, co do odzyskiwania modelu są one przy użyciu, dlaczego dziennik jest pełny i kiedy zostały uruchomione kopie zapasowe FULL i LOG.
Spójrz na kolumnę oznaczoną log_reuse_wait_description. Najprawdopodobniej jest napisane: BACKUP. Następną najbardziej prawdopodobną przyczyną jest TRANSACTION.
Jeśli jest BACKUP tutaj jest kilka informacji:
Zasadniczo dla proste bazy danych, należy uruchomić pełną kopię zapasową każdego dnia. Dla twoich PEŁNYCH baz danych, uruchom FULL backup każdego dnia, a kopia zapasowa LOG co godzinę. Dostosuj częstotliwość swoich baz danych LOG, aby dopasować się do możliwości utraty danych przy jednoczesnym utrzymaniu pracy.
Najprostszym sposobem zarządzania kopiami zapasowymi jest użycie Ola Hallengren's maintenance scripts. Odwiedź jego stronę i spróbuj z nich skorzystać.
Jeśli widzisz TRANSAKCJI jako powód, spróbuj uruchomić:
dbcc opentran
I wyśledzić kto to ma otwartych transakcji.
Bardzo pomocne, dzięki! –
Wszystkie moje powiedzieć "NIC" lub "CHECKPOINT" w kolumnie log_reuse_wait_description. –
Niewątpliwie baza danych jest uruchomiona w Full Recovery Mode
i nie udało się wykonać kopii zapasowych dziennika transakcji.
Kliknij prawym przyciskiem myszy bazę danych w programie SQL Server Manager i sprawdź stronę Opcje. Przełącz model odzyskiwania z Full
na Simple
, a następnie ponownie kliknij bazę danych prawym przyciskiem myszy. Wybierz opcję Tasks
Shrink
, Files
. Zmniejsz plik logu do odpowiedniego rozmiaru (zwykle trzymam się 20-25% rozmiaru plików danych).
Przełącz się ponownie na Full Recovery Model
i od razu wykonaj pełną kopię zapasową bazy danych.
Musisz teraz ustalić, czy potrzebujesz możliwości odzyskania bazy danych do określonego momentu. Jeśli tak, zaplanuj regularny dziennik transakcji i być może różnicowe kopie zapasowe zgodnie z wymaganiami firmy.
Jeśli firma może żyć z określoną utratą danych, zaplanuj pełne kopie zapasowe i przełącz się na tryb Simple
.
Pomiędzy tą odpowiedzią a odpowiedzią @ Steven'a, kilka świetnych informacji! –
Kliknij prawym przyciskiem myszy na bazę danych \ Właściwości \ Pliki.
Będziesz mieć tabelę z plikami baz danych, wśród których plik dziennika. Po prostu zwiększ rozmiar początkowy do rozsądnej kwoty.
Zrób to Kliknij prawym przyciskiem myszy węzeł bazy danych -> Zadania-> Utwórz kopię zapasową-> Ogólne (w zakładce) -> ustaw "Typ kopii zapasowej" na "Dziennik transakcji" -> OK.
Jeśli model odzyskiwania bazy danych jest pełny i nie masz planu konserwacji kopii zapasowej dziennika, pojawi się ten błąd, ponieważ dziennik transakcji zapełni się z powodu LOG_BACKUP
.
to uniemożliwi wykonywanie jakichkolwiek działań w tej bazie danych, takich jak zmniejszanie, a aparat bazy danych SQL Server spowoduje błąd 9002.
w celu przezwyciężenia tego zachowania Zaleca się sprawdzenie tego The transaction log for database ‘SharePoint_Config’ is full due to LOG_BACKUP, które przedstawia kroki szczegółowe w celu rozwiązania tego problemu, takie jak plan konserwacji kopii zapasowych dzienników.
Zamiast publikować gdzie znaleźć odpowiedź (w linku), musisz podać te informacje, aby odpowiedzieć na to pytanie. Zobacz [Jak napisać dobrą odpowiedź?] (/ Help/how-to-answer) i [Jak odwoływać się do materiałów napisanych przez innych] (/ help/referencing) dla niektórych wskazówek. Odpowiedzi dotyczące wyłącznie linków są uważane za odpowiedzi o niskiej jakości w StackOverflow i mogą być usuwane. –
- 1. Dziennik dla bazy „x” nie jest dostępna
- 2. Wiele transakcji bazy danych
- 3. Hows czy duży dziennik transakcji wpływa na wydajność?
- 4. Sql transakcji klienta z transakcji kodu vs transakcji bazy danych
- 5. Jak zrozumieć pełny dziennik GC?
- 6. Jak zmniejszyć dziennik transakcji w bazach danych MS SQL 2000?
- 7. Jak odczytać dziennik transakcji Zookeepera?
- 8. Liquibase - jak wygenerować dziennik zmian dla istniejącej bazy danych
- 9. Używanie transakcji STM i bazy danych
- 10. Jak wyświetlić pełny dziennik kompilacji na xcode5?
- 11. Ogromny dziennik transakcji z bazą danych SQL Server w prostym trybie odzyskiwania
- 12. Plan konserwacji dla bazy danych SQL Server SessionState (ASPState) ASP.Net
- 13. Jak skonstruować warstwę dostępu do bazy danych za pomocą transakcji
- 14. Różnice między strategiami bazy danych dotyczącymi obcięcia, transakcji i usuwania
- 15. Magento wychwytywanie wyjątków i wycofywanie transakcji bazy danych
- 16. Jak zdecydować o korzystaniu z transakcji bazy danych
- 17. jak przekazywać argumenty do funkcji transakcji bazy danych PhoneGap
- 18. Jak mogę zobaczyć pełny dziennik wyjątków w JAVA?
- 19. wielu wątków dostępu do bazy danych: jedna z długimi transakcji, jednej z krótkich transakcji
- 20. Konsekwencja atomowości bazy danych
- 21. Wiązanie bazy danych dla OCaml?
- 22. Poszukuję bazy danych obiektów
- 23. Pivot dla bazy danych redshift
- 24. Struktura bazy danych dla struktury danych drzewa
- 25. Wybierz rozmiar bazy danych SQL Server
- 26. Kod stanu HTTP dla bazy danych jest wyłączony
- 27. Jaka jest domyślna ścieżka do bazy danych dla MongoDB?
- 28. Błąd: ta funkcja jest niedostępna dla używanej bazy danych.
- 29. Dziennik Heroku dla pracownika Resque
- 30. Jak zbudować prosty pakiet bazy danych dla mojej aplikacji Pythona?
Czy przestrzegałeś porady w komunikacie o błędzie? Co tam znalazłeś? Jakie badania przeprowadziłeś w tym momencie? –
Czy rzeczywiście nie ma nazwy bazy danych w wiadomości? – egrunin
Spróbuj MSDN: [Dziennik transakcji rośnie nieoczekiwanie lub staje się pełny w SQL Server] (http://support.microsoft.com/kb/317375) Ma dość pełne wyjaśnienie problemu. – egrunin