Администрирование · 11 мин
Какая база у 1С: как устроено хранение данных и как узнать тип своей базы
Разбираем, какая база данных у 1С: файловый формат 1Cv8.1CD и клиент-серверные варианты на MS SQL и PostgreSQL. Как узнать тип базы и выбрать подходящий.
Когда пользователь спрашивает «какая база у 1С», обычно за вопросом стоит одна из трёх задач: понять, где физически лежат данные, определить тип своей информационной базы или выбрать формат хранения при развёртывании. Платформа 1С:Предприятие 8 устроена так, что прикладная конфигурация (например, «Бухгалтерия предприятия» или «Управление торговлей») работает поверх слоя хранения, и этот слой может быть двух принципиально разных видов.
Первый вид — файловая база: вся информация, включая справочники, документы, регистры и настройки, хранится в одном файле с расширением 1Cv8.1CD в каталоге базы. Второй вид — клиент-серверный вариант: платформа через сервер 1С:Предприятия обращается к внешней системе управления базами данных (СУБД), и данные лежат в таблицах этой СУБД. Поддерживаются Microsoft SQL Server, PostgreSQL (включая сборки Postgres Pro), Oracle Database и IBM DB2.
Выбор между вариантами влияет на производительность, допустимое число одновременных пользователей, требования к лицензиям и способы резервного копирования. Ниже разберём, как устроен каждый вариант, как определить тип существующей базы и когда имеет смысл переходить с файлового режима на клиент-серверный.
Как устроена файловая база 1С
В файловом варианте вся информационная база — это каталог на диске, главный элемент которого — файл 1Cv8.1CD. В нём хранятся конфигурация, данные всех таблиц и служебная информация. Рядом могут лежать вспомогательные файлы журналов и индексов, но основной объём данных сосредоточен именно в этом одном файле.
Доступ к файлу организован напрямую: каждый клиент 1С открывает файл по сети или локально и сам выполняет чтение и запись. Платформа использует механизм блокировок, чтобы пользователи не мешали друг другу, но при росте числа одновременных подключений конкуренция за блокировки становится заметной — отсюда и ограничение файлового режима по масштабу.
Файловый вариант не требует установки отдельной СУБД и сервера приложений, поэтому его просто развернуть: достаточно скопировать каталог на компьютер или в общую сетевую папку и добавить базу в список через стартер 1С. Именно поэтому файловый режим — стандарт для небольших организаций и для локальных копий, например для разработки и тестирования.
Клиент-серверный вариант: какие СУБД поддерживает 1С
В клиент-серверном режиме появляется трёхзвенная архитектура: клиентское приложение → кластер серверов 1С:Предприятия → СУБД. Платформа не хранит данные сама, а формирует запросы к внешней базе данных. Администратор создаёт пустую базу в СУБД, а при регистрации информационной базы в консоли кластера платформа сама создаёт в ней все нужные таблицы и индексы.
Официально поддерживаются четыре СУБД: Microsoft SQL Server, PostgreSQL (в том числе отечественные сборки Postgres Pro), Oracle Database и IBM DB2. На практике чаще всего встречаются MS SQL Server и PostgreSQL: первый популярен из-за зрелых инструментов администрирования, второй — из-за отсутствия лицензионных платежей за саму СУБД. Oracle и DB2 применяются реже, в основном в крупных организациях с существующей инфраструктурой этих вендоров.
Важно понимать: структуру таблиц в СУБД формирует платформа, и работать с этими таблицами напрямую средствами SQL не рекомендуется. Имена таблиц и полей служебные, логика целостности реализована на уровне платформы, а не базы данных. Все прикладные операции должны идти через платформу, иначе велик риск рассогласования данных.
Сравнение вариантов хранения
Подходит для небольшого числа пользователей и умеренных объёмов данных. Простое развёртывание и копирование, но ограничения по параллельной работе и размеру.
Для средних и крупных внедрений с Windows-инфраструктурой. Требует лицензий на СУБД (кроме бесплатной Express-версии с ограничениями), зато даёт развитые средства обслуживания.
Рабочий вариант для снижения стоимости лицензий. Требует внимательной настройки конфигурации СУБД под нагрузку 1С и квалификации администратора.
Нишевый выбор для организаций, где эти СУБД уже используются. Дорогое сопровождение и меньше типовых инструкций под 1С.
Как узнать, какая база у вашей 1С
Самый быстрый способ — открыть список информационных баз в окне запуска 1С, выделить нужную базу и посмотреть строку подключения внизу окна. Если в строке указан путь к каталогу вида File="D:\Bases\Trade" — это файловая база. Если указаны сервер и имя базы вида Srvr="server1";Ref="trade" — клиент-серверная.
Второй способ — изнутри программы. В режиме 1С:Предприятие откройте «О программе» (обычно через меню с круглой стрелкой или значок «i»). В разделе с информацией о системе будет указан режим работы: файловый или клиент-серверный, а также версия платформы и, для серверного варианта, используемая СУБД.
Третий способ — посмотреть на файловую систему. Если в каталоге базы есть файл 1Cv8.1CD, перед вами файловая база. Если каталога с таким файлом нет, а подключение идёт по имени сервера, данные лежат в СУБД, и точный тип (MS SQL или PostgreSQL) уточняют у администратора или в консоли кластера серверов 1С.
- 1Откройте окно запуска 1С и выделите базу в списке.
- 2Посмотрите строку подключения: File= — файловая, Srvr= — серверная.
- 3Для серверной базы откройте консоль кластера и посмотрите свойства информационной базы: там указан тип СУБД.
- 4Проверьте результат, открыв базу и сверив режим работы в окне «О программе».
Ограничения файлового режима и когда переходить на сервер
Файловый вариант имеет практические ограничения, которые проявляются по мере роста базы. Платформа накладывает внутренние ограничения на размер отдельных таблиц в файловом формате, а конкурентный доступ нескольких пользователей к одному файлу приводит к блокировкам: один пользователь, запустивший тяжёлый отчёт или проведение большого документа, может «подвесить» работу остальных.
Признаки того, что файловый режим исчерпал себя: заметные паузы при одновременной работе нескольких пользователей, частые ошибки блокировок, долгое выполнение регламентных операций (проведение по партиям, закрытие месяца), рост файла 1Cv8.1CD до размеров, при которых копирование и тестирование занимают часы. Точных универсальных порогов нет — многое зависит от конфигурации, железа и характера нагрузки, но при десятке активных пользователей вопрос о клиент-серверном варианте обычно уже стоит.
Дополнительный аргумент за серверный режим — безопасность и обслуживание. В клиент-серверном варианте пользователи не имеют прямого доступа к файлам данных, резервное копирование делается штатными средствами СУБД без остановки работы, а нагрузку можно распределять между серверами кластера.
Как выбрать режим работы
Как перенести базу между режимами
Переход с файлового варианта на клиент-серверный (и обратно) выполняется через механизм выгрузки и загрузки информационной базы в файл с расширением .dt. В конфигураторе открывают исходную базу, выполняют «Администрирование → Выгрузить информационную базу», затем создают новую базу в нужном режиме и загружают в неё полученный файл через «Загрузить информационную базу».
Для серверного варианта новую базу предварительно регистрируют в консоли кластера серверов 1С с указанием типа СУБД, имени базы данных и учётной записи с правами на создание объектов. После загрузки dt-файла платформа заполнит таблицы СУБД данными. На больших базах выгрузка и загрузка могут занимать продолжительное время, поэтому переход планируют на нерабочие часы.
После переноса обязательно проверяют результат: сверяют итоги по ключевым отчётам (оборотно-сальдовая ведомость, остатки складов), запускают тестирование и исправление базы, убеждаются, что пользователи могут войти и проводить документы. До завершения проверки исходную файловую базу не удаляют.
Резервное копирование для разных типов баз
Для файловой базы самый простой способ резервного копирования — скопировать каталог с файлом 1Cv8.1CD при завершённых сеансах пользователей. Копирование при открытых сеансах рискованно: файл может быть захвачен в несогласованном состоянии. Более аккуратный вариант — выгрузка в dt через конфигуратор, которая даёт логически целостный снимок.
В клиент-серверном варианте копирование делается средствами самой СУБД: полные и разностные бэкапы в MS SQL Server, pg_dump или физические копии в PostgreSQL. Такие копии можно делать по расписанию без остановки работы пользователей. Дополнительно периодически полезно делать выгрузку dt — она независима от СУБД и позволяет развернуть базу в другом окружении.
Критерий качества резервного копирования — не наличие файлов копий, а проверенное восстановление. Периодически разворачивайте копию на тестовом компьютере или в тестовой базе сервера и убеждайтесь, что она открывается и данные читаются.
Частые вопросы о базах 1С
1С — это сама по себе база данных?
Нет. 1С:Предприятие — это платформа с собственным механизмом хранения. В файловом режиме платформа хранит данные в собственном формате (файл 1Cv8.1CD), а в клиент-серверном использует внешнюю СУБД как хранилище. Прикладная логика при этом всегда остаётся на стороне платформы.
Можно ли открыть файл 1Cv8.1CD чем-то кроме 1С?
Штатных сторонних средств для полноценной работы с этим форматом нет: структура файла внутренняя и меняется между версиями платформы. Для обмена данными используют выгрузку в dt, XML-форматы обмена или встроенные механизмы интеграции (COM, веб-сервисы, HTTP-сервисы).
Что выбрать для серверного варианта: MS SQL или PostgreSQL?
Если в организации есть лицензии и администратор MS SQL — обычно выбирают его ради зрелых инструментов обслуживания. Если задача снизить стоимость лицензий, PostgreSQL — рабочая альтернатива, но конфигурацию СУБД нужно настроить под нагрузку 1С по рекомендациям вендора. Производительность при грамотной настройке сопоставима.
Можно ли просто скопировать базу с одного сервера SQL на другой?
Да, средствами самой СУБД: сделать резервную копию базы данных и восстановить её на новом сервере, затем перерегистрировать информационную базу в консоли кластера 1С с новыми параметрами подключения. Альтернатива — выгрузка и загрузка dt, что медленнее, но не зависит от версий СУБД.
Почему файловая база «тормозит» по сети, хотя локально работает быстро?
При сетевом доступе каждый клиент читает и пишет общий файл через сетевую файловую систему, и задержки сети напрямую влияют на скорость операций и на конкуренцию за блокировки. Публикация базы на веб-сервере или переход на клиент-серверный вариант убирают этот эффект, так как по сети передаются только запросы и результаты, а не фрагменты файла.
Чем отличается выгрузка dt от резервной копии СУБД?
Файл dt — логическая выгрузка средствами платформы: он переносим между СУБД и версиями, но создаётся дольше и требует монопольного доступа. Копия СУБД — физический снимок базы данных: делается быстро и без остановки работы, но привязана к конкретной СУБД и её версии. В надёжной схеме используют оба способа.
Что важно запомнить
У 1С два режима хранения: файловый (один файл 1Cv8.1CD) и клиент-серверный (MS SQL, PostgreSQL, Oracle или DB2 через сервер 1С). Тип своей базы видно в строке подключения и в окне «О программе». Переход между режимами делается через выгрузку и загрузку dt, а резервное копирование должно соответствовать типу базы и регулярно проверяться восстановлением.