Вы здесь

Уменьшение размера лог-файла в MsSQL

Обязательным условием для выполнения данной операции - возможность создания backup'ирование базы. Если база в "нерабочем состоянии", то сделать подрезку будет невозможно.

Итак по шагам:

  1. Создать maintenance plan
    Создаем Maintenance plan
  2. Создаем задачу Execute T-SQL Statement Task
    Создаем задачу Execute T-SQL Statement Task
  3. Прописываем следующий код
    USE database_name
    GO
    backup log database_name WITH truncate_only
    GO
    dbcc shrinkfile(database_log_name, 1024) -- size in megabytes
    GO

    Прописываем следующий код

  4. Настраиваем расписание.

Также этот код можно выполнить отдельно, запустив в консоли.

Имя логфайла можно узнать в свойствах базы в разделе Файлы
Имя лог-файла базы данных, необходимый для выполнения скрипта

Microsoft SQL 2008

Если модель Simple

USE <Имя БД>
DBCC SHRINKFILE (<Логическое Имя Файла Лога>, <Размер>);
GO

Если модель Full

USE <Имя БД>
ALTER DATABASE <Имя БД> SET RECOVERY SIMPLE
DBCC SHRINKFILE (<ЛогическоеИмяФайлаЛога>, <Размер>);
GO
ALTER DATABASE <Имя БД> SET RECOVERY FULL
GO

Как альтернативу можно попробовать (сам не пробовал):

USE <Имя БД>
Backup Log TO disk = ‘Nul’
GO
DBCC SHRINKFILE (<ЛогическоеИмяФайлаЛога>, <Размер>);
GO