При регулярном обновлении типовых конфигураций на платформе 1С, работающих под управлением SQL Server Express, администраторы нередко сталкиваются с критической ошибкой нехватки места. В частности, таблицы Config и ConfigSave начинают занимать практически весь доступный лимит в 10 Гб. Давайте разберем, почему это происходит и как устранить данную проблему совместными усилиями.
Основная причина роста таблиц Config и ConfigSave кроется в режиме поддержки конфигурации. Когда для конфигурации включена возможность изменения, платформа 1С хранит не только основную версию, но и конфигурацию поставщика. Это необходимо для обеспечения механизмов сравнения и объединения. Даже если вы не вносили никаких правок, само наличие «разрешения на редактирование» провоцирует систему резервировать значительные объемы данных для управления версиями метаданных.
В процессе каждого обновления создаются временные копии структур, что приводит к «раздуванию» базы. Поскольку SQL Server Express имеет жесткое ограничение на объем (10 Гб), даже небольшая база данных с данными пользователей может мгновенно достичь этого предела из-за разросшихся таблиц конфигурации.
Самый эффективный способ радикально уменьшить размер базы — это отказ от режима редактирования. Если у вас нет критических доработок в коде типовой конфигурации, выполните следующие шаги:
После этой процедуры крайне важно выполнить тестирование и исправление информационной базы (с установкой всех галочек по реструктуризации) и последующее сжатие (Shrink) базы данных через SQL Server Management Studio, так как освободившееся пространство не вернется операционной системе автоматически.
Если проблема не решилась или вам необходимо провести обновление в условиях жесткого лимита места, используйте промежуточную файловую версию:
.dt..dt файл в эту файловую базу..dt и загрузите его в SQL-базу.Этот метод также полезен тем, что он ускоряет процесс обновления, так как файловая база не тратит ресурсы на накладные расходы SQL-транзакций при каждом изменении метаданных.
Часто размер базы увеличивается за счет включенных в конфигурацию внешних обработок, драйверов оборудования или тяжелых общих макетов печатных форм. Проанализируйте дерево конфигурации на предмет объектов, которые можно вынести во внешние файлы. Вместо того чтобы хранить тяжелые внешние отчеты внутри базы, лучше запускать их как Внешние отчеты и обработки. Это существенно разгрузит таблицу Config.
Если описанные методы не помогают, стоит рассмотреть переход на другие системы управления базами данных:
Помните, что перед выполнением любых операций по смене режима конфигурации или сжатию таблиц, необходимо сделать актуальную резервную копию базы данных. В процессе работы всегда следите за состоянием транзакционного лога, так как при нехватке места он также может мгновенно заполнить всё дисковое пространство сервера.