При работе с высоконагруженными базами данных 1С:Предприятие, такими как УПП 1.3, администраторы часто сталкиваются с ситуацией, когда после манипуляций с бэкапами файл журнала транзакций LDF начинает неконтролируемо расти. Разберем, почему это происходит и как правильно настроить систему, чтобы избежать проблем с производительностью и дисковым пространством.
В модели восстановления Full (Полная), которая является стандартом для обеспечения сохранности данных, SQL Server записывает все транзакции в журнал логов. Эти записи хранятся там до тех пор, пока не будет выполнен бэкап журнала транзакций. Если размер лога превышает размер основной базы данных, это явный признак того, что регламентные задания по обслуживанию базы настроены некорректно или не справляются с нагрузкой.
Основные причины роста лога:
Чтобы стабилизировать работу базы, выполните следующие шаги:
sys.dm_tran_database_transactions.Simple (Простая) на постоянной основе, если вам требуется возможность восстановления на определенный момент времени (point-in-time recovery). Модель Simple подходит только для баз, где не критична потеря данных за время с последнего полного бэкапа.SQL Server. Размер файлов должен быть задан «с запасом» один раз, чтобы сервер не тратил ресурсы на постоянное расширение и сжатие.Если пользователи сталкиваются с блокировками при проведении документов Реализация товаров и услуг, особенно в моменты обмена данными через COM-соединение, необходимо проанализировать архитектуру выполнения фоновых заданий.
Разберем способы снижения блокировок:
1С:Предприятие 8 рекомендуется включение режима READ_COMMITTED_SNAPSHOT. Это позволяет операциям чтения не блокировать операции записи, что критически важно при работе 100+ пользователей.COM-соединения на время минимальной пользовательской активности. Конкуренция за таблицы регистров накопления между регламентным заданием и пользователем — главная причина Deadlocks.SQL Server для поддержания актуальности индексов, так как неоптимальные планы выполнения запросов заставляют SQL Server блокировать большие диапазоны данных (page lock вместо row lock).Для обеспечения стабильности 24/7 мы рекомендуем придерживаться следующего регламента:
Ежедневные задачи:
CheckDB).Update Statistics) для всех таблиц, особенно для регистров накопления.Еженедельные задачи:
Reorganize или Rebuild в зависимости от уровня фрагментации).Помните, что база данных — это сложный живой механизм. Если вы столкнулись с проблемой, начните с анализа плана выполнения запроса, который вызывает блокировку, и убедитесь, что дисковая подсистема справляется с потоком записи. Перезаливка базы — это лишь временная мера, которая не устраняет причину архитектурных конфликтов.