Администрирование · 10 мин
Как выглядит база данных 1С изнутри: файлы, таблицы и структура хранения
Как устроена база данных 1С: файловый и клиент-серверный режимы, файл 1Cv8.1CD, таблицы SQL Server, структура хранения справочников, документов и регистров.
База данных 1С — это не один большой файл с таблицами, а сложная структура, вид которой зависит от режима работы: файлового или клиент-серверного. В файловом варианте вся база — это каталог на диске, где главный файл называется 1Cv8.1CD. В клиент-серверном варианте данные хранятся в СУБД (Microsoft SQL Server, PostgreSQL, Oracle или IBM DB2), а платформа 1С обращается к ним через сервер приложений.
При этом «внутри» база выглядит одинаково независимо от режима: данные организованы в объекты конфигурации — справочники, документы, регистры сведений и накопления, планы счетов. Каждый такой объект физически хранится в одной или нескольких таблицах, а платформа 1С сама управляет их именами и связями.
Понимание устройства базы нужно администраторам для резервного копирования, восстановления после сбоев, переноса данных и диагностики проблем с производительностью. Ниже разобрано, где физически лежат данные, как они структурированы и как безопасно посмотреть базу, ничего не сломав.
Файловый режим: база как папка с файлом 1Cv8.1CD
В файловом варианте вся информационная база размещается в одном каталоге на локальном диске или сетевом ресурсе. Основной файл — 1Cv8.1CD: в нём хранятся все таблицы данных, конфигурация базы данных и служебная информация. Размер файла растёт по мере накопления данных и на больших базах может достигать десятков гигабайт.
Рядом с основным файлом в каталоге базы находятся служебные файлы и подкаталоги. Среди них — журнал регистрации (каталог 1Cv8Log в новых версиях платформы или файл 1Cv8.lgd в старых), временные файлы, а также файлы блокировок, которые появляются во время работы пользователей.
Все данные, конфигурация БД, пользователи
История действий пользователей и системных событий
Появляются при работе, удаляются автоматически
Служебные данные сеансов, можно удалять при закрытой базе
Открыть файл 1Cv8.1CD напрямую и «посмотреть таблицы» штатными средствами нельзя — формат закрытый, платформа сама читает и пишет его. Для просмотра содержимого используют конфигуратор 1С, а для диагностики повреждений — утилиту chdbfl.exe из каталога платформы.
Клиент-серверный режим: таблицы в SQL Server или PostgreSQL
В клиент-серверном варианте каталога с 1Cv8.1CD нет. Вместо него в СУБД создаётся база данных, внутри которой платформа 1С автоматически создаёт сотни или тысячи таблиц. Имена таблиц генерируются платформой и выглядят технически: например, _Reference123 для справочника, _Document456 для документа, _InfoRg789 для регистра сведений.
Соответствие между объектами конфигурации и физическими таблицами можно получить штатной функцией «ПолучитьСтруктуруХраненияБазыДанных()» в конфигураторе или через обработку. Прямое изменение данных в таблицах SQL-запросами категорически запрещено: это нарушает целостность базы и лишает поддержки.
Чтение данных напрямую из SQL-таблиц применяют для внешней аналитики и интеграций, но даже тогда нужно учитывать, что структура таблиц может измениться после обновления конфигурации. Надёжнее использовать штатные механизмы обмена, COM-соединение или веб-сервисы.
Логическая структура: как объекты конфигурации ложатся в таблицы
Независимо от режима работы база логически состоит из объектов метаданных, каждый из которых хранится в своём наборе таблиц. Справочник хранится в одной основной таблице плюс таблицы его табличных частей. Документ — в таблице шапки и таблицах табличных частей, а его движения записываются в таблицы регистров.
Регистры накопления и сведений — это отдельные таблицы, где каждая строка — запись с измерениями, ресурсами и реквизитами. Для регистров накопления платформа дополнительно хранит таблицу итогов, чтобы быстро получать остатки без суммирования всех движений.
| Объект конфигурации | Что хранит | Физические таблицы |
|---|---|---|
| Справочник | Номенклатуру, контрагентов, сотрудников | Основная таблица + таблицы табличных частей |
| Документ | Проведённые и непроведённые операции | Таблица шапки + табличные части |
| Регистр накопления | Движения и остатки (склад, деньги) | Таблица движений + таблица итогов |
| Регистр сведений | Цены, курсы валют, адреса | Одна таблица записей |
| Константы | Настройки учёта | Одна общая таблица |
Помимо данных, в базе хранятся пользователи и их роли, настройки, хранимые файлы (присоединённые к документам), версии объектов и служебные очереди. Поэтому реальный объём базы обычно заметно больше, чем кажется по количеству документов.
Как посмотреть структуру базы штатными средствами
Самый безопасный способ увидеть устройство базы — конфигуратор 1С. В режиме конфигуратора дерево метаданных показывает все объекты, а функция структуры хранения покажет соответствие объектов и физических таблиц.
- 1Откройте базу в конфигураторе под пользователем с полными правами
- 2Выполните команду меню «Администрирование» — «Параметры информационной базы» или откройте обработку с функцией ПолучитьСтруктуруХраненияБазыДанных()
- 3Изучите список: каждому объекту метаданных соответствует имя физической таблицы и её назначение
- 4Для файловой базы дополнительно посмотрите размер каталога и файла 1Cv8.1CD через проводник
- 5Для клиент-серверной базы откройте SQL Server Management Studio или pgAdmin и посмотрите список таблиц — только в режиме чтения
Путь к файловой базе виден в списке информационных баз при запуске 1С: достаточно выделить базу и посмотреть строку подключения внизу окна. Для клиент-серверной базы там указаны имя сервера приложений и имя базы в кластере.
Резервное копирование и перенос: что именно копировать
Для файловой базы полная резервная копия — это копия всего каталога базы, минимум — файла 1Cv8.1CD. Копировать файл нужно только когда все пользователи вышли, иначе копия может оказаться несогласованной. Правильный штатный способ — выгрузка в файл .dt через конфигуратор («Администрирование» — «Выгрузить информационную базу»).
Для клиент-серверной базы резервную копию делает средствами СУБД: полный backup базы данных в SQL Server или pg_dump для PostgreSQL. Выгрузка .dt также работает и полезна для переноса между разными СУБД или для диагностики, но на больших базах она выполняется долго.
Способы резервного копирования
Универсальна, переносит между СУБД и платформами. Медленная на больших базах, требует монопольного доступа.
Быстро и просто. Требует выхода всех пользователей, иначе копия может быть повреждена.
Штатно для клиент-серверного режима, поддерживает расписания и точки восстановления. Требует прав администратора СУБД.
Типичные проблемы с базой и как их распознать
Файловые базы чувствительны к обрывам питания и сети: признаки повреждения — ошибки формата потока, «битые» ссылки, невозможность открыть базу. Первая помощь — тестирование и исправление в конфигураторе или проверка файла утилитой chdbfl.exe, обязательно на копии базы.
В клиент-серверных базах чаще встречаются проблемы производительности: долгие запросы, блокировки, переполнение журнала транзакций. Диагностируют их средствами СУБД и технологическим журналом платформы, а не действиями с самими таблицами.
Что важно запомнить
Файловая база 1С — это каталог с файлом 1Cv8.1CD, клиент-серверная — набор таблиц в СУБД. Логически база состоит из справочников, документов и регистров, каждому из которых соответствуют физические таблицы. Смотреть структуру — через конфигуратор, копировать — выгрузкой .dt или штатным backup, изменять данные — только через платформу.
Частые вопросы
Можно ли открыть файл 1Cv8.1CD без 1С?
Штатных сторонних средств нет: формат файла закрытый, его читает только платформа 1С. Для диагностики повреждений используют утилиту chdbfl.exe из каталога установленной платформы, а для просмотра данных — конфигуратор или режим предприятия.
Почему в SQL-базе таблицы называются _Reference123, а не понятными именами?
Имена генерирует платформа, и они не привязаны к синонимам объектов в конфигурации. Соответствие объекта и таблицы показывает функция структуры хранения базы данных в конфигураторе. После реструктуризации или обновления конфигурации нумерация таблиц может измениться.
Чем отличается выгрузка .dt от резервной копии SQL?
Файл .dt содержит данные в формате платформы и подходит для переноса между разными СУБД и версиями. Backup средствами СУБД быстрее, поддерживает расписания и восстановление на точку времени, но привязан к конкретной СУБД.
Где хранятся пароли пользователей базы?
Учётные записи хранятся внутри самой базы (в файловом режиме — в 1Cv8.1CD) в хешированном виде. Извлечь или посмотреть пароль нельзя, можно только сбросить его администратором через конфигуратор или список пользователей.
Можно ли уменьшить разросшийся файл 1Cv8.1CD?
Да: после удаления данных физический размер файла сам не уменьшается. Помогает тестирование и исправление с включённым сжатием таблиц, либо выгрузка базы в .dt и загрузка в новый пустой каталог. Операцию выполняют на копии при монопольном доступе.
Что делать, если база не открывается с ошибкой формата потока?
Сначала сделайте копию каталога базы. Затем проверьте файл утилитой chdbfl.exe, а при необходимости выполните тестирование и исправление в конфигураторе. Если ошибка сохраняется, восстановите базу из последней рабочей резервной копии и перенесите недостающие данные вручную.