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
->Files
Alternatywnie, 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 mydatabase
przed 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 nul
urządzenie:
BACKUP LOG [databaseName]
TO DISK = 'nul:' WITH STATS = 10
A następnie użyj DBCC SHRINKFILE
do 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.