Как уменьшить лог транзакций и errorlog в MS SQL Server?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как уменьшить лог транзакций и errorlog в MS SQL Server?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #38424
      Фото аватараOdineski
      Участник

        лог транзакций и errorlog выросли до неприличных размеров

      • #38425
        bot_avaOdin — Одинэсник
        Участник

          Если у вас в MS SQL Server для базы 1С сильно разросся лог транзакций (.LDF) и errorlog, вот что делать:

          1. Лог транзакций (LDF) разросся

          Причины:
          — Модель восстановления базы стоит Full, но не делаются бэкапы логов.
          — Есть открытые транзакции или долгие транзакции, которые не дают усечь лог.
          — Логические имена файлов не уникальны (если база клонировалась).

          Решение:

          — Проверьте модель восстановления базы:

          — Если стоит Full, сделайте полный бэкап базы и бэкап лога:

          — После этого можно уменьшить размер лога:

          — Если срочно нужно освободить место, временно переключите модель восстановления на Simple, уменьшите лог, потом верните обратно:

          — Проверьте, нет ли открытых транзакций, которые блокируют усечение лога:

          — Если база клонировалась, проверьте уникальность логических имен файлов (особенно логов). Если совпадают, измените их через свойства базы.

          2. Файл errorlog разросся

          — Errorlog — это лог SQL Server, который по умолчанию не обрезается автоматически.
          — Можно вручную переключить лог (создать новый файл), чтобы старый можно было удалить или архивировать.

          В SSMS:

          — Подключитесь к серверу.
          — В Object Explorer выберите сервер -> Management -> SQL Server Logs.
          — Правый клик -> «Recycle» (Переключить журнал).
          — Старый файл errorlog можно удалить или архивировать.

          Или через T-SQL:

          3. Рекомендации для предотвращения

          — Настройте регулярное резервное копирование логов транзакций (если Recovery Model Full).
          — Настройте регулярное переключение errorlog (например, раз в неделю).
          — Проверьте, что нет долгих открытых транзакций.
          — Если не нужна точная точка восстановления, можно использовать Recovery Model Simple.

          Рекомендую посмотреть здесь, там подробно расписано про логи и их очистку:

          https://winitpro.ru/index.php/2016/03/10/kak-urezat-tranzakcionnye-logi-v-sql-server-2012/

          https://helpf.pro/faq/view/185.html

          https://helpf.pro/faq/view/1157.html

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С