Администрирование · 10 мин
Как узнать размер базы 1С
Как узнать размер базы 1С в файловом и клиент-серверном варианте: через проводник, конфигуратор, SQL-запросы и обработки. Проверка файла 1Cv8.1CD, таблиц MS SQL и PostgreSQL.
Размер базы 1С нужно знать при переносе данных, планировании резервного копирования, миграции с файлового режима на клиент-серверный и при диагностике замедления работы. Способ проверки зависит от режима работы: файловая база хранится в одном файле 1Cv8.1CD, а клиент-серверная — в СУБД (MS SQL Server, PostgreSQL и др.), где размер определяется средствами самой СУБД.
Важно различать размер файла базы и объём полезных данных. Файл 1Cv8.1CD и файлы СУБД могут содержать «пустоты» — место, освобождённое после удаления объектов, но не возвращённое операционной системе. Поэтому реальный объём данных часто меньше видимого размера файла, а сжатие базы (тестирование и исправление, shrink в SQL) способно заметно уменьшить файл без потери информации.
Определите режим работы базы
Прежде чем измерять размер, выясните, как база подключена. Откройте окно запуска 1С, выделите базу и нажмите «Изменить» — в настройках будет указан тип расположения: «На данном компьютере или в локальной сети» (файловый режим) или «На сервере 1С:Предприятия» (клиент-серверный режим).
Другой быстрый способ — посмотреть строку подключения в списке баз. Если в пути указан каталог вида D:\Bases\Trade — это файловая база, и размер измеряется файловыми средствами. Если указан сервер и имя базы на нём — измерять нужно на стороне СУБД.
Этот шаг важен, потому что инструменты не взаимозаменяемы: размер файловой базы нельзя узнать через SQL-запросы, а размер базы на SQL Server не виден в папке с программой 1С.
Как узнать размер файловой базы через проводник
Самый простой способ — открыть каталог базы и посмотреть размер главного файла. Путь к каталогу виден в списке баз при запуске 1С в поле «Каталог» после выделения информационной базы.
- 1Откройте окно запуска 1С, выделите базу и скопируйте путь из поля «Каталог»
- 2Перейдите в этот каталог через проводник Windows
- 3Найдите файл 1Cv8.1CD, щёлкните по нему правой кнопкой и откройте «Свойства»
- 4Посмотрите значения «Размер» и «На диске» — это размер базы
- 5Дополнительно оцените общий размер папки: в ней могут лежать вложенные каталоги с файлами и печатными формами
Основной объём занимает файл 1Cv8.1CD — в нём хранятся конфигурация, данные, настройки. Рядом могут находиться служебные файлы (1Cv8.1CL — список пользователей, 1Cv8.cdn — блокировки, файлы журнала регистрации в каталоге 1Cv8Log). Они обычно малы, но журнал регистрации при долгой работе без настройки может вырасти до заметной величины.
Обратите внимание на разницу между «Размер» и «Размер на диске»: при хранении на сетевом ресурсе или в сжатой папке значения могут отличаться. Для планирования резервных копий ориентируйтесь на фактический размер файла.
Как посмотреть размер через конфигуратор
Конфигуратор не показывает размер базы напрямую в интерфейсе, но даёт косвенные данные. Через меню «Администрирование» — «Свойства информационной базы» можно увидеть общие параметры, а пункт «Тестирование и исправление» позволяет оценить состояние таблиц и выполнить сжатие.
Для более точной картины в файловом режиме используют внешние обработки, которые открывают файл базы и выводят размер по таблицам. Такие обработки запускаются через «Файл» — «Открыть» в режиме предприятия и показывают, какие таблицы (документы, регистры накопления, справочники) занимают больше всего места.
Знание «тяжёлых» таблиц полезно при решении о свёртке базы: если половину объёма занимают регистры накопления за старые периоды, свёртка остатков на дату уменьшит базу в разы без потери текущих данных.
Размер клиент-серверной базы в MS SQL Server
В клиент-серверном режиме данные лежат в базе СУБД, и размер смотрят её средствами. Самый наглядный способ — SQL Server Management Studio (SSMS): подключитесь к серверу, найдите нужную базу, откройте её свойства — на странице «General» указан размер базы и доступное свободное место внутри файлов.
Для детализации по таблицам используйте системную процедуру sp_spaceused или запрос к системным представлениям. Пример запроса, показывающего размер каждой таблицы:
SELECT t.NAME AS TableName, SUM(a.total_pages) * 8 / 1024 AS SizeMB FROM sys.tables t JOIN sys.indexes i ON t.object_id = i.object_id JOIN sys.partitions p ON i.object_id = p.object_id AND i.index_id = p.index_id JOIN sys.allocation_units a ON p.partition_id = a.container_id GROUP BY t.NAME ORDER BY SizeMB DESCПомимо данных учитывайте журнал транзакций (файл .ldf): при полной модели восстановления без регулярного резервного копирования журнала он может вырасти до размеров, превышающих саму базу. Размер файлов базы и журнала виден на странице «Files» в свойствах базы или запросом к sys.database_files.
Размер базы в PostgreSQL
Если сервер 1С работает с PostgreSQL, размер базы узнают запросом к функции pg_database_size. Подключитесь через pgAdmin или psql и выполните:
SELECT pg_size_pretty(pg_database_size('имя_базы'));Для анализа отдельных таблиц используйте функцию pg_total_relation_size в связке с системным каталогом pg_class — так видно, какие объекты занимают основной объём. В pgAdmin размер базы отображается и визуально: выберите базу в дереве объектов, на вкладке статистики будет указан её размер.
Учтите, что PostgreSQL не возвращает освобождённое место операционной системе автоматически — после массового удаления данных физический размер файлов сохранится, пока не выполнена команда VACUUM FULL (она требует монопольного доступа к таблице).
Что делать с полученными цифрами
Размер базы сам по себе — не диагноз, а отправная точка. Сопоставьте его с задачей: для резервного копирования важен полный объём файлов, для переноса — размер выгрузки .dt (обычно заметно меньше из-за сжатия), для производительности — доля «мусорного» пространства и размер журнала регистрации.
Как выбрать действие
Регулярно фиксируйте размер базы — например, раз в месяц. Резкий скачок роста без соответствующего увеличения объёма документов указывает на проблему: ошибочные фоновые задания, разросшийся журнал регистрации или накопление служебных данных (версии объектов, историю изменений).
Как проверить результат и сократить размер
После любых операций со сжатием или чисткой перепроверьте размер тем же способом, которым измеряли изначально, — только так сравнение будет корректным. Для файловой базы снова откройте свойства 1Cv8.1CD, для SQL — свойства базы или запрос к системным представлениям.
Как проверить результат
Файл уменьшился пропорционально объёму удалённых данных
Размер не изменился — сжатие не выполнялось или в базе нет «пустот»
Журнал сопоставим с размером базы или меньше
Журнал в разы больше данных — нет резервных копий журнала
База открывается, отчёты строятся, данные на месте
Ошибки при открытии — восстанавливайте из резервной копии
Если база выросла до неудобного размера, последовательность действий такая: сделайте резервную копию (выгрузку .dt или бэкап средствами СУБД), очистите устаревшие данные (свёртка, удаление помеченных объектов, сокращение журнала регистрации), затем выполните сжатие подходящим для вашего режима способом и проверьте результат.
Что важно запомнить
Размер файловой базы — это размер файла 1Cv8.1CD в её каталоге. Размер клиент-серверной базы смотрят средствами СУБД: SSMS для MS SQL, pgAdmin или запросы для PostgreSQL. Удаление данных не уменьшает файлы автоматически — нужно сжатие. Любые операции со сжатием выполняйте только после резервного копирования.
Частые вопросы
Почему размер базы не уменьшился после удаления документов?
И файловая база, и СУБД резервируют освободившееся место под будущие данные, не возвращая его операционной системе. Чтобы физически уменьшить файлы, в файловом режиме запустите «Тестирование и исправление» со сжатием таблиц, в MS SQL — операцию shrink, в PostgreSQL — VACUUM FULL. Все операции делайте при отсутствии пользователей и после резервного копирования.
Какой размер считается критичным для файловой базы 1С?
Техническое ограничение файлового режима — порядка 4 ГБ на одну таблицу, а не на базу целиком. На практике при размере файла в несколько гигабайт и нескольких одновременно работающих пользователях уже заметны замедления и конфликты блокировок. Если база активно растёт и превышает несколько гигабайт, стоит рассмотреть переход на клиент-серверный режим.
Совпадает ли размер выгрузки .dt с размером базы?
Нет. Файл выгрузки сжат, поэтому обычно в несколько раз меньше исходной базы. Для оценки места под резервные копии ориентируйтесь на фактический размер конкретных выгрузок вашей базы — коэффициент сжатия зависит от структуры данных.
Как узнать, какие таблицы занимают больше всего места?
В MS SQL используйте запрос к системным представлениям sys.tables и sys.allocation_units с суммированием страниц по таблицам. В PostgreSQL — функцию pg_total_relation_size. Для файлового режима применяют внешние обработки анализа структуры базы, которые показывают размер по объектам метаданных.
Может ли журнал регистрации сильно увеличить размер базы?
Да. При максимальном уровне детализации и долгой работе без настройки журнал регистрации вырастает до значительных размеров. В файловом режиме он хранится в подкаталоге 1Cv8Log, в клиент-серверном — в отдельном каталоге на сервере. Настройте уровень регистрации и периодически сокращайте журнал через конфигуратор.
Опасно ли смотреть размер базы во время работы пользователей?
Само чтение размера файла или выполнение запроса к системным представлениям безопасно и не мешает работе. Осторожности требуют только операции изменения: сжатие, тестирование и исправление, shrink — они требуют монопольного доступа или создают нагрузку, поэтому их выполняют в нерабочее время.