Как бороться с uncontrollable log file growth in SQL Server?

User avatar
Virginian
Уже с Приветом
Posts: 6016
Joined: 19 Dec 2001 10:01
Location: Moscow - Richmond, VA

Re: Как бороться с uncontrollable log file growth in SQL Server?

Post by Virginian »

StrangerR wrote:Если база в FULL то обязательно нужно делать бэкапы.

Кроме того, раз уж лог вырос, то сам файл не уменьшится пока ему не сделать shrink.

Если база с репликацией то еще репликация может удерживать лог даже после бэкапа. Тогда прибить репликацию если она застряла.
Там где репликация, задержка ноль, ничего не зависает. В том и дело, что shrink не работает, в том числе и на базе без репликации. Вычитал у людей, что иногда помогает последовательно повторить цепочку backup-log-shrink-backup log-shrink. Попробовал на одной базе, действительно работает.

Устал я от этого маразма...
User avatar
Virginian
Уже с Приветом
Posts: 6016
Joined: 19 Dec 2001 10:01
Location: Moscow - Richmond, VA

Re: Как бороться с uncontrollable log file growth in SQL Server?

Post by Virginian »

StrangerR wrote:Тут есть одна обманка. База в FULL не обязательно приводит к росту логов. Пока не делалось ни одного бэкапа, база де факто будет в SIMPLE даже если она прописана как FULL. Но первый же бэкап или восстановление с бэкапа включит накопление логов. И для их чистки нужно их бэкапить, другого не дано.

** Едиственный способ уменьшить лог - перевести в single и сделать бэкап лог

ИЛИ а не И, так как у базы в СИМПЛЕ нельзя сделать бэкап лог.
Это я написал не в той последовательности, как я уже приводил, база изначально находится в full.

backup log CarSales to disk = 'nul'

ALTER DATABASE CarSales set recovery simple

DBCC SHRINKFILE (CarSales_log,1)

ALTER DATABASE CarSales set recovery full

После этого все в шоколаде, но это уже из класса last resort.

Про обманку все правильно, если не было полного бэкапа,

backup log CarSales to disk = 'nul'

сразу выдает ошибку и так прямо и говорит, где full backup, дорогой.
User avatar
Колхозник
Уже с Приветом
Posts: 9269
Joined: 31 Jul 2003 19:17
Location: Шишконсин

Re: Как бороться с uncontrollable log file growth in SQL Server?

Post by Колхозник »

Накаркали! :-)
Точно такая же хрень... гррр..
Но у меня репликация замешана... один транзакционный подписчик - много разбросанных публикаций
Толканул новые индексы на публикации - лог фаил на подписчике вырос и уперся в потолок.
Срезать лог фаил не получается даже после многочисленных бэкапов.
Короче - какая-то грязь держит лог файл (99% пустой) и не дает шринкануть.
Обычно, я бы детачнул/пересоздал лог - и все дела; но перестраивать Х подписок заново лень. :-)
Придется разобраться поглубже (чисто из персональных, шкурных интересов).
Надоело. Самозабанен 11 ноября, 2015 - ....
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Re: Как бороться с uncontrollable log file growth in SQL Server?

Post by Dmitry67 »

Один раз у меня после сноса подписки залипло. Причем репликация была снесена полностью
Нагуглил процедуры чтобы снести невидимые в студии остатки...
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014

Return to “Вопросы и новости IT”