При активной работе с прикрепленными файлами и сканами документов в файловой базе 1С пользователи часто сталкиваются с ошибкой: «Превышен максимальный размер внутреннего файла». Данная проблема может возникать даже тогда, когда общий размер файла базы данных 1Cv8.1CD составляет всего 4–5 ГБ. Проанализируем, почему появляется это ограничение и какие существуют способы его устранения.
В файловом режиме информационная база 1С хранится в одном файле 1Cv8.1CD, состоящем из множества внутренних таблиц. В стандартном формате базы данных установлено жесткое технологическое ограничение: размер любой отдельной внутренней таблицы (в частности, хранилища двоичных данных BLOB) не может превышать 4 ГБ.
Когда пользователи регулярно прикрепляют к документам и справочникам сканы, изображения и файлы (например, в справочник ХранилищеДополнительнойИнформации или ПрикрепленныеФайлы), данные накапливаются в одной конкретной таблице. Как только объем этой таблицы доходит до предела в 4 ГБ, платформа блокирует дальнейшую запись и выдает ошибку превышения размера файла.
Если необходимо быстро устранить ошибку без глобальной переработки конфигурации, изменим размер страницы базы данных с помощью утилиты cnvdbfl.exe, которая поставляется вместе с платформой 1С:Предприятие.
Увеличение размера страницы (например, до 64 КБ) раздвигает лимит на максимальный объем отдельной таблицы базы с 4 ГБ до 32–64 ГБ. Разберем по шагам порядок выполнения конвертации:
1Cv8.1CD.
cnvdbfl.exe -c -f 8.3.8 -p 64k "C:\PathToDatabase\1Cv8.1CD"
Важный нюанс: увеличенный размер страницы не сохраняется при выгрузке базы в файл .dt и последующей его загрузке. Если необходимо развернуть выгрузку .dt в новую файловую базу, применим следующий алгоритм:
1Cv8.1CD созданной базы утилитой cnvdbfl.exe с параметром -p 64k..dt через Конфигуратор в уже подготовленную базу.Наиболее правильным подходом к организации работы со сканами является перенос файлов из самой базы данных на жесткий диск. В этом случае в базе данных хранятся только ссылки на файлы, а сами сканы размещаются в каталогах на сервере или локальном диске.
Рассмотрим основные шаги по настройке такого хранения:
После выноса двоичных данных размер файла 1Cv8.1CD перестанет расти при добавлении новых сканов.
Зачастую сканы документов загружаются в базу с чрезмерно высоким разрешением (300–600 DPI) и в цветном формате. В результате один лист документа может занимать от 5 до 10 МБ вместо стандартных 150–300 КБ. Проанализируем процесс оптимизации данных:
Внимание: после удаления сканов из базы размер файла 1Cv8.1CD на диске автоматически не уменьшится. Чтобы высвободить физическое место на диске, выполним в Конфигураторе процедуру «Тестирование и исправление» с включенным флагом «Сжатие таблиц информационной базы» (либо сделаем перевыгрузку через файл .dt).
Если база данных продолжает активно расти, а число пользователей увеличивается, рационально рассмотреть переход с файлового режима на клиент-серверный. В клиент-серверном режиме ограничения на размер отдельных таблиц отсутствуют.
Разберем доступные варианты: