К статье
Практический материал

Администрирование · 10 мин

Как посмотреть размер базы данных 1С

Как узнать размер базы 1С файловой и клиент-серверной: через проводник, SQL Server, PostgreSQL, конфигуратор и обработки. Пошаговые инструкции и советы.

Размер базы данных 1С нужно знать при планировании места на диске, перед обновлением конфигурации, при переносе базы на другой сервер и при диагностике медленной работы. Способ проверки зависит от того, как развёрнута ваша система: файловый вариант хранит данные в одном файле 1Cv8.1CD, а клиент-серверный — в СУБД (MS SQL Server, PostgreSQL, Oracle или IBM Db2).

В файловом варианте достаточно посмотреть свойства одного файла в проводнике. В клиент-серверном размер придётся запрашивать у самой СУБД — через графические средства управления или SQL-запросы. Отдельно стоит учитывать размер журнала регистрации и полнотекстового индекса, которые могут храниться рядом с базой и занимать заметное место.

Ниже разобраны все рабочие способы: от простого просмотра свойств файла до запросов к системным представлениям SQL Server и PostgreSQL, а также типичные ошибки при оценке объёма данных.

Как определить тип вашей базы 1С

Прежде чем искать размер, выясните, в каком режиме работает информационная база. Откройте список баз в окне запуска 1С, выделите нужную базу и нажмите кнопку «Изменить». На втором шаге мастера будет указан вариант расположения: «На данном компьютере или на компьютере в локальной сети» (файловый) либо «На сервере 1С:Предприятия» (клиент-серверный).

Альтернативный способ — открыть конфигуратор и посмотреть строку подключения в свойствах базы. Также путь к каталогу файловой базы виден прямо в списке информационных баз под её названием: если там указан локальный путь вида C:\Bases\Trade или сетевой путь \\Server\Bases\Trade, база файловая.

Как посмотреть размер файловой базы 1С

Это самый простой случай. Закройте базу у всех пользователей (или хотя бы убедитесь, что никто не работает — иначе размер может отображаться некорректно из-за открытых транзакций) и выполните следующие шаги:

  1. Откройте список информационных баз в окне запуска 1С и посмотрите путь к каталогу базы.
  2. Перейдите в этот каталог через проводник Windows.
  3. Найдите файл 1Cv8.1CD, щёлкните по нему правой кнопкой мыши и выберите «Свойства».
  4. В окне свойств будет указан размер файла — это и есть объём данных базы.

Обратите внимание: в каталоге файловой базы лежат и другие служебные файлы и папки. Журнал регистрации хранится в подкаталоге 1Cv8Log, полнотекстовый индекс — в 1Cv8FTxt (или 1Cv8FTS), временные файлы — в подкаталогах сессий. Если вы оцениваете, сколько места займёт копия базы целиком, учитывайте весь каталог, а не только файл 1Cv8.1CD.

Быстрая проверка размера файловой базы
  1. 1
    Найдите путь к базе в списке информационных баз 1С
  2. 2
    Откройте каталог в проводнике
  3. 3
    Щёлкните правой кнопкой по файлу 1Cv8.1CD и выберите «Свойства»
  4. 4
    Проверьте также размер подкаталогов 1Cv8Log и 1Cv8FTxt
  5. 5
    Для полной оценки посмотрите свойства всего каталога базы

Как посмотреть размер базы в MS SQL Server

В клиент-серверном варианте данные физически находятся в файлах СУБД, поэтому размер запрашивается у SQL Server. Самый наглядный способ — через SQL Server Management Studio (SSMS): подключитесь к серверу, раскройте узел «Базы данных», щёлкните правой кнопкой по нужной базе и выберите «Свойства». На странице «Общие» в поле «Размер» будет указан суммарный объём базы в мегабайтах.

Тот же результат даёт отчёт «Использование диска»: правой кнопкой по базе → «Отчёты» → «Стандартные отчёты» → «Использование диска». Отчёт покажет размер файлов данных и журнала транзакций отдельно, а также объём, реально занятый данными, и свободное место внутри файлов.

Если удобнее запрос, подключитесь к базе и выполните системную процедуру:

USE MyBase;

GO

EXEC sp_spaceused;

Процедура вернёт общий размер базы (database_size), нераспределённое место и объём, занятый данными, индексами и неиспользуемый. Чтобы увидеть размеры отдельных файлов базы (данных и журнала), используйте запрос:

SELECT name, type_desc,

size * 8 / 1024 AS size_mb

FROM sys.database_files;

Как посмотреть размер базы в PostgreSQL

Для баз на PostgreSQL используйте встроенные функции администрирования. Подключитесь к серверу через pgAdmin или psql и выполните запрос:

SELECT pg_database.datname,

pg_size_pretty(pg_database_size(pg_database.datname)) AS size

FROM pg_database

ORDER BY pg_database_size(pg_database.datname) DESC;

Запрос покажет размеры всех баз на сервере в удобочитаемом виде (МБ, ГБ). Чтобы узнать размер только текущей базы, достаточно выполнить SELECT pg_size_pretty(pg_database_size(current_database()));.

В pgAdmin тот же показатель доступен визуально: выберите базу в дереве объектов, и на вкладке статистики или в свойствах отобразится её размер. Дополнительно можно посмотреть размеры отдельных таблиц запросом к функции pg_total_relation_size() — это полезно, когда нужно понять, какие объекты конфигурации «съедают» больше всего места.

sql
SELECT pg_size_pretty(pg_database_size('my_base')) AS db_size;

Как узнать размер базы через конфигуратор и обработки

Штатных средств показать физический размер базы в конфигураторе нет — он работает с метаданными, а не с файлами СУБД. Однако косвенно оценить объём помогает команда «Администрирование» → «Тестирование и исправление»: на этапе проверки видно количество таблиц и записей, а в файловом варианте после реструктуризации размер файла 1Cv8.1CD можно сравнить до и после.

Существуют сторонние обработки и отчёты, которые подсчитывают количество записей в таблицах и оценивают объём данных по объектам метаданных (документы, справочники, регистры). Они полезны, когда нужно понять не общий размер файла, а то, какие именно разделы учёта занимают больше всего места — например, перед свёрткой базы или удалением устаревших данных.

Учитывайте ограничение: такие обработки показывают логический объём данных в терминах 1С, который не равен физическому размеру на диске. Реальный файл включает индексы, служебные структуры СУБД и свободное место внутри файлов.

Сравнение способов проверки размера

Проводник (файл 1Cv8.1CD)

Самый быстрый способ для файловой базы. Не подходит для клиент-серверного варианта.

Свойства базы в SSMS

Наглядно, показывает файлы данных и журнал. Требует доступа к SQL Server и установленной Management Studio.

SQL-запросы (sp_spaceused, pg_database_size)

Точные цифры, можно автоматизировать. Нужны права на выполнение запросов к СУБД.

Обработки по объектам метаданных

Показывают, какие разделы учёта занимают место. Не дают физический размер файлов.

Что учитывать при оценке полного объёма данных

Размер самой базы — не единственное, что занимает место. Для полной картины проверьте журнал регистрации: в файловом варианте это каталог 1Cv8Log рядом с базой, в клиент-серверном — каталог, указанный в свойствах базы при её создании (по умолчанию в каталоге служебных файлов сервера). При длительной работе без сокращения журнал может вырасти до значительных размеров.

Также учтите полнотекстовый индекс, резервные копии, файлы выгрузки (.dt) и временные файлы. Если вы готовите миграцию или обновление, закладывайте запас места: для тестирования и исправления файловой базы, а также для создания резервной копии перед обновлением потребуется свободный объём, сопоставимый с размером самой базы.

Контрольные точки

Как проверить результат

Размер основного файла базы
Норма

Значение стабильно между проверками и растёт постепенно

Тревожный признак

Резкий скачок роста без увеличения объёма работы — проверьте журнал транзакций и регистры

Свободное место на диске с базой
Норма

Есть запас, достаточный для резервной копии и обновления

Тревожный признак

Места меньше размера базы — риск сбоя при обновлении или бэкапе

Размер журнала регистрации
Норма

Журнал сокращается по расписанию, объём контролируемый

Тревожный признак

Каталог журнала сопоставим с размером базы или больше

Типичные ошибки при определении размера базы

Самая частая ошибка — путать файловый и клиент-серверный варианты и искать файл 1Cv8.1CD там, где данные лежат в SQL Server. Второй распространённый промах — оценивать только файл данных и забывать про журнал транзакций в SQL Server, который при полной модели восстановления может превышать размер самих данных.

Третья ошибка — измерять размер при работающих пользователях в файловом варианте и делать выводы по «сырым» данным, пока часть изменений находится в транзакциях. Наконец, многие ориентируются на размер выгрузки .dt, считая его размером базы: выгрузка сжата и обычно заметно меньше реального объёма данных.

Типичные ошибки
01
Считать размер базы по файлу выгрузки .dt — выгрузка сжата и меньше реального объёма
02
Игнорировать журнал транзакций SQL Server — он может занимать больше места, чем данные
03
Забывать про журнал регистрации и полнотекстовый индекс при оценке места для копии
04
Измерять файловую базу во время работы пользователей — размер может быть искажён
05
Ожидать, что удаление данных сразу уменьшит файл — файлы СУБД не сжимаются автоматически

Частые вопросы

Где найти файл базы 1С, если я не знаю путь к нему?

Откройте окно запуска 1С, выделите базу в списке — путь к каталогу отображается внизу окна под списком. Также путь виден в настройках базы (кнопка «Изменить»).

Почему размер базы в свойствах SQL Server больше объёма реальных данных?

Файлы базы содержат не только данные, но и индексы, служебные структуры и зарезервированное свободное место. После массового удаления данных файл не уменьшается автоматически — свободное место остаётся внутри файла для будущих записей.

Можно ли посмотреть размер базы прямо в программе 1С?

Штатной команды «показать размер базы» в пользовательском режиме нет. Внутри программы можно лишь оценить объём косвенно — по количеству документов и записей в регистрах. Физический размер смотрят на уровне файловой системы или СУБД.

Размер выгрузки .dt равен размеру базы?

Нет. Файл выгрузки сжат, поэтому обычно заметно меньше реального объёма данных. После загрузки .dt обратно база разворачивается до полного размера, включая индексы и служебные структуры.

Как узнать, какие таблицы занимают больше всего места?

В SQL Server используйте стандартный отчёт «Использование диска таблицами» или запрос к sys.dm_db_partition_stats. В PostgreSQL — запрос с функцией pg_total_relation_size() по таблицам схемы. Имена таблиц СУБД можно сопоставить с объектами 1С через функцию ПолучитьСтруктуруХраненияБазыДанных().

Итог

Что важно запомнить

Файловая база измеряется размером файла 1Cv8.1CD, клиент-серверная — запросами к СУБД (sp_spaceused или pg_database_size). Для полной оценки места учитывайте журнал регистрации, журнал транзакций и индексы. Никогда не удаляйте файлы базы вручную — сокращайте объём только штатными средствами после резервного копирования.