Muszę opróżnić plik LDF przed wysłaniem do kolegi. Jak zmusić program SQL Server do obcinania dziennika?
Muszę opróżnić plik LDF przed wysłaniem do kolegi. Jak zmusić program SQL Server do obcinania dziennika?
Odpowiedzi:
jeśli dobrze pamiętam ... w analizatorze zapytań lub równoważnym:
BACKUP LOG databasename WITH TRUNCATE_ONLY
DBCC SHRINKFILE ( databasename_Log, 1)
WITH TRUNCATE_ONLY.
BACKUP LOG DatabaseNameHere TO DISK='NUL:'.
W studio zarządzania:
Properties, a następnie Options.Tasks-> Shrink->FilesAlternatywnie, SQL, aby to zrobić:
ALTER DATABASE mydatabase SET RECOVERY SIMPLE
DBCC SHRINKFILE (mydatabase_Log, 1)
Patrz: http://msdn.microsoft.com/en-us/library/ms189493.aspx
use mydatabaseprzed uruchomieniemdbcc shrinkfile
W przypadku SQL Server 2008 polecenie to:
ALTER DATABASE ExampleDB SET RECOVERY SIMPLE
DBCC SHRINKFILE('ExampleDB_log', 0, TRUNCATEONLY)
ALTER DATABASE ExampleDB SET RECOVERY FULL
Spowodowało to zmniejszenie mojego pliku dziennika 14 GB do 1 MB.
W przypadku SQL 2008 można wykonać kopię zapasową dziennika na nulurządzenie:
BACKUP LOG [databaseName]
TO DISK = 'nul:' WITH STATS = 10
A następnie użyj DBCC SHRINKFILEdo obcięcia pliku dziennika.
Inną opcją jest odłączenie bazy danych za pośrednictwem Management Studio. Następnie wystarczy usunąć plik dziennika lub zmienić jego nazwę i usunąć później.
Z powrotem w Management Studio ponownie dołącz bazę danych. W oknie dołączania usuń plik dziennika z listy plików.
Baza danych dołącza i tworzy nowy pusty plik dziennika. Po sprawdzeniu, że wszystko jest w porządku, możesz usunąć plik dziennika o zmienionej nazwie.
Prawdopodobnie nie powinieneś tego używać w produkcyjnych bazach danych.