Muszę opróżnić plik LDF przed wysłaniem do kolegi. Jak zmusić program SQL Server do obcinania dziennika?Co to jest polecenie obcięcia pliku dziennika programu SQL Server?
Odpowiedz
jeśli dobrze pamiętam ... w analizatorze zapytań lub odpowiedniku:
BACKUP LOG databasename WITH TRUNCATE_ONLY
DBCC SHRINKFILE ( databasename_Log, 1)
W Management Studio:
- Nie rób tego na rzeczywistym środowisku, ale aby upewnić się kurczyć swoje dev db jak można:
- prawym przyciskiem myszy bazę danych, wybierz
Properties
, a następnieOptions
. - Upewnij "model odzyskiwania" jest ustawiony na "Simple", a nie "full"
- kliknij OK
- prawym przyciskiem myszy bazę danych, wybierz
- prawym kliknij ponownie bazy danych, wybierz
Tasks
->Shrink
->Files
- Zmian typ pliku do "Log"
- Kliknij OK.
Alternatywnie, SQL, aby to zrobić:
ALTER DATABASE mydatabase SET RECOVERY SIMPLE
DBCC SHRINKFILE (mydatabase_Log, 1)
Twoja odpowiedź właśnie uratowała mój dzień! Nie wiedziałem o opcji "kliknij prawym przyciskiem myszy - Zadania -> Zmniejsz". Dziękuję Ci! –
Co robisz w środowisku na żywo? Najpierw wykonaj kopię zapasową dzienników? –
Nie jestem DBA, ale tak, uważam, że utworzenie kopii zapasowej dziennika spowoduje jego skrócenie: http://technet.microsoft.com/en-us/library/ms179478.aspx – Blorgbeard
zapasowej dziennika LOGNAME z truncate_only następnie polecenia dbcc SHRINKFILE
Dla SQL Server 2008, komenda brzmi:
ALTER DATABASE ExampleDB SET RECOVERY SIMPLE
DBCC SHRINKFILE('ExampleDB_log', 0, TRUNCATEONLY)
Ta zmniejszona mój plik dziennika 14PL w dół do 1 MB.
Ponieważ pytanie jest niejednoznaczne, która wersja i zaakceptowana odpowiedź nie ma zastosowania do SQL Server 2008, ta odpowiedź jest nadal ważna niezależnie od wieku. –
Dzięki, pomogło mi to zredukować duży plik dziennika, który nie zareagował na DBCC SHRINKFILE –
Nie zapomnij zmienić modelu odzyskiwania na PEŁNY, kiedy skończysz! – Dan
dla SQL 2008 można kopii dziennika nul
urządzenia:
BACKUP LOG [databaseName]
TO DISK = 'nul:' WITH STATS = 10
a następnie użyć DBCC SHRINKFILE
obciąć pliku dziennika.
Jest to jedyna, która zakończyła pracę w mojej sytuacji ... Wystąpił błąd podczas próby użycia kopii zapasowej z TRUNCATE_ONLY – TomXP411
Inną opcją jest całkowite odłączenie bazy danych za pomocą Management Studio. Następnie po prostu usuń plik dziennika, zmień jego nazwę i usuń później.
Powrót do Management Studio ponownie załóż bazę danych. W oknie dołączania usuń plik dziennika z listy plików.
Baza danych dołącza się i tworzy nowy pusty plik dziennika. Po sprawdzeniu, czy wszystko jest w porządku, możesz usunąć plik dziennika o zmienionej nazwie.
Prawdopodobnie nie powinieneś używać tego do produkcji baz danych.
Nigdy tego nie rób! W dzienniku mogą znajdować się dane, które nie zostały jeszcze zatwierdzone w pliku danych. Tracisz takie dane. – Paul
OSTRZEŻENIE! To jest nieprawidłowe i niebezpieczne! – defines
Jeśli, w swojej odpowiedzi, ostrzegasz, aby nie wypróbować go w produkcji, w ogóle nie warto go publikować. –
- 1. Co to jest odpowiednik programu SQL Server INET_ATON
- 2. Co to jest polecenie SQL, aby zwrócić nazwy pól tabeli?
- 3. Skoroszytowy plik dziennika transakcji SQL Server
- 4. Co to jest memcached server
- 5. Co to jest format daty neutralnej dla kultury SQL Server
- 6. Co to jest odpowiednik PostgreSQL dla SQL Server NVARCHAR?
- 7. Co to jest odpowiednik CHARINDEX (SQL SERVER) w POSTGRESQL?
- 8. Co to jest równoważnik "RÓWNOLEGŁY" w SQL Server
- 9. Narzędzie różnicowe programu SQL Server
- 10. Co to jest "Linq to SQL"?
- 11. Alternatywa programu Doradca dostrajania programu SQL Server?
- 12. Wyświetlenia indeksowane programu SQL Server
- 13. Co to jest framework programu PastryKit?
- 14. Wiele ciągów połączenia programu SQL Server w pliku app.config
- 15. Tworzenie pliku bazy danych programu SQL Server CE programowo
- 16. Jak zmniejszyć rozmiar pliku dziennika serwera sql?
- 17. Co to są równoważne typy danych C# dla daty, czasu i datetimeoffset programu SQL Server?
- 18. dziennika LINQ-to-SQL wygenerowane SQL do nlog
- 19. Jaki jest cel PAD_INDEX w tym ograniczeniu programu SQL Server?
- 20. Co to jest tabela systemowa SQL Server, która zawiera informacje o parametrach procedury składowanej?
- 21. Co robi to polecenie? "exec bash -l"
- 22. Co to jest odpowiednik SQL Server dla zmiennych wiążących Oracle w dynamicznym SQL?
- 23. co to jest Microsoft.Practices.EnterpriseLibrary.Data
- 24. co to odczytuje i zapisuje w sys.dm_exec_requests DMV SQL Server
- 25. Co to jest rozmiar SQL Intr (N)?
- 26. Jak przekonwertować plik .mdf programu SQL Server 2008 do programu SQL Server 2012?
- 27. WGET bez pliku dziennika
- 28. dowolny limit liczby połączeń programu SQL Server?
- 29. Poziom zgodności programu SQL Server 2008
- 30. Określanie wersji programu SQL Server z ADO.NET
Jest to zdecydowanie lepsze niż ustawienie modelu odzyskiwania bazy danych na PROSTY (jak w odpowiedzi Blorgbearda), ponieważ jeśli twój model odzyskiwania jest PEŁNY, masz go tak ustawić z jakiegoś powodu. –
truncate_only jest przestarzałe w SQL Server 2008, więc musisz przełączyć db do prostego odzyskiwania http://msdn.microsoft.com/en-us/library/ms143729(SQL.90).aspx –
Dla SQL Server 2012 to działa, ale bez 'WITH TRUNCATE_ONLY'. –