Изменение режима восстановления не приводит к сжатию файла журнала базы данных SQL, как это сделать вручную.

 Так вот, недавно я узнал, что на одном из наших серверов не хватает места. Это наш AV-сервер, так что я подумал: Какого черта, почему место заканчивается? Оказывается, там был экземпляр SQL Server в качестве базы данных карантина и конфигурации. Резервная копия виртуальной машины создавалась, но не сама база данных, поэтому никаких резервных копий журналов и усечений журналов после этого не было.

Чтобы точно проверить, сколько места занимают журналы, вы можете запустить следующий SQL cmd:

Select * from <база данных>.sys.sysfiles

Или вы можете так же легко щелкнуть правой кнопкой мыши базу данных и проверить размеры файлов оттуда.

Чтобы исправить это, я просто изменил режим восстановления с полного на простой для баз данных, но без резервной копии самих баз данных журналы не будут усекаться. Создание резервной копии из меню правой кнопки мыши также не приведет к их усечению. Поскольку я действительно не беспокоился о резервном копировании самой базы данных, я мог просто заставить SQL Server усечь журналы. Я запустил следующую команду, чтобы сжать файл журнала:

DBCC SHRINKFILE('<database_log>')

Если <database_log> - это имя файла журнала базы данных, который вы хотите сжать. Это решает проблему.