Уменьшения log файла ms sql

Возникла проблема. Очень вырос log файл одной из баз.

Забекапить лог и шинкануть его — не давало никакого результата. Как оказалось, у данной базы была включена репликация, но никуда ничего не реплицировалось. Для того что бы узнать включена ли репликация необходимо выполнить команду

DBCC OPENTRAN

У меня она выводит следующую информацию

ransaction information for database 'имя базы'.

Replicated Transaction Information:
        Oldest distributed LSN     : (0:0:0)
        Oldest non-distributed LSN : (17444:25:1)
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

Для решения проблемы необходимо выполнить скрипт

Execute SP_ReplicationDbOption [имя базы],Publish,true,1
GO
Execute sp_repldone @xactid = NULL, @xact_segno = NULL, @numtrans = 0, @time = 0, @reset = 1
GO
DBCC ShrinkFile([имя лога],0)
GO
Execute SP_ReplicationDbOption [имя базы],Publish,false,1
GO
backup log [имя базы] with truncate_only
GO
dbcc shrinkfile(2, truncateonly)
GO

После выполнения данного скрипта отключится репликация для базы и log файл уменьшится в размере.

Перед выполнением скрипта не забудьте выполнить резервную копию.

(Просмотров 302, 1 за сегодня)

Добавить комментарий

Ваш адрес email не будет опубликован.