В процессе многопользовательской работы с файловой информационной базой 1С через общую сетевую папку (SMB/шару) нередко возникает ошибка «Файл базы повреждён». Ситуация часто обостряется при записи документов, проведении регламентных операций или одновременной синхронизации узлов. Базовое восстановление с помощью встроенной утилиты chdbfl.exe и штатного тестирования и исправления приносит лишь временный результат: спустя несколько часов или дней заголовки и таблицы размещения базы разрушаются повторно, приводя к потере данных. Выясним причину такого поведения файловой СУБД 1С и разберем по шагам все способы надежного устранения сбоев.
Проанализируем механику работы файловой платформы. Файл 1Cv8.1CD представляет собой самостоятельную СУБД, в которой вся логика блокировок, транзакций и распределения страниц выполняется на стороне каждого клиентского компьютера. Когда несколько пользователей открывают базу через сетевую папку, операционная система хоста распределяет доступ с помощью сетевых протоколов SMB.
В такой схеме возникают критические уязвимости:
Рассмотрим подробнее эффективные варианты исправления ситуации: от быстрых настроек окружения до кардинального изменения архитектуры развертывания.
Если бюджет ограничен и нет возможности приобрести серверные лицензии «1С:Предприятие», наиболее быстрым решением является прекращение передачи тяжелого файла по сети. Перенесем сеансы всех пользователей непосредственно на ту машину, где физически расположен диск с базой данных.
Разберем по шагам, почему это работает:
1cv8.exe запускаются локально на сервере. Обмен данными с диском идет через локальную шину и системный кэш хоста, без участия протокола SMB и риска сетевых обрывов.Для небольших рабочих групп (до 4–5 человек) развертывание терминального доступа возможно как на базе Windows Server, так и с использованием терминальных решений на ОС Linux.
Для конфигураций на обычных формах (режим совместимости 8.2), где невозможно задействовать тонкий клиент через веб-сервер, промышленным стандартом стабильности выступает перевод базы на полноценную трехуровневую архитектуру.
Для небольших компаний отличным решением является лицензия 1С:Сервер МИНИ, рассчитанная на работу до 5 пользовательских сеансов. В качестве системы управления базами данных отлично подходит бесплатная СУБД PostgreSQL (сборка для 1С) либо MS SQL Server Express.
Преимущества перехода:
Если в силу организационных причин временная работа через сетевую расшаренную папку неизбежна, выполним обязательную тонкую настройку операционной системы сервера и клиентов, чтобы снизить вероятность разрушения файла 1Cv8.1CD.
Разберем комплекс превентивных мер:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters зададим нулевые значения для параметров DirectoryCacheLifetime, FileInfoCacheLifetime и FileNotFoundCacheLifetime. Это исключит использование устаревших метаданных сетевого файла.Large Send Offload (LSO) и Checksum Offload, которые часто служат причиной скрытых микроразрывов пакетов.Windows Search, а резервное копирование выполняется только в моменты, когда в базе гарантированно нет активных пользователей.Когда утилита chdbfl.exe систематически фиксирует повреждение заголовков, внутренней таблицы размещения или уникальных индексов, обычное тестирование и исправление перестает помогать, а выгрузка в .dt может переносить скрытые логические ошибки. В таких ситуациях рекомендуем следующий алгоритм оздоровления данных:
.cf.cnvdbfl.exe (расположена в каталоге bin установленной платформы) и сконвертируем пустую базу с увеличенным размером страницы (например, 8192 или 16384 байта), что повысит отказоустойчивость файловой системы.