Администрирование · 11 мин
Какая база данных используется в 1С и какую выбрать
Какая база данных подходит для 1С: файловый режим, MS SQL, PostgreSQL, IBM DB2, Oracle. Сравнение вариантов, требования, ошибки и FAQ.
Фраза «база данных 1С» употребляется в двух разных смыслах, и путаница начинается именно здесь. В первом случае речь идёт об информационной базе — совокупности конфигурации и данных конкретной организации: справочников, документов, регистров. Во втором — о системе управления базами данных (СУБД), на которой эта информационная база физически хранится.
Платформа 1С:Предприятие поддерживает два принципиально разных режима работы. Файловый режим хранит всю базу в одном файле с расширением .1CD и не требует отдельной СУБД. Клиент-серверный режим использует внешнюю СУБД: Microsoft SQL Server, PostgreSQL (включая Postgres Pro), IBM DB2 или Oracle Database. Выбор между ними определяет производительность, надёжность и стоимость владения системой.
Ошибка в выборе режима проявляется не сразу: база растёт, число пользователей увеличивается, и через год-полтора файловый вариант начинает «тормозить», падать с ошибками блокировок и требовать срочной миграции. Поэтому решение лучше принимать с запасом на рост.
Что такое информационная база 1С
Информационная база — это конфигурация плюс данные. Конфигурация описывает структуру: какие есть справочники, документы, отчёты и как они связаны. Данные — это сами записи: контрагенты, накладные, проводки, начисления. И то и другое хранится вместе, в файловом варианте — в едином файле 1Cv8.1CD.
В клиент-серверном варианте информационная база распадается на две части: метаданные и данные размещаются в таблицах внешней СУБД, а сервер 1С:Предприятия выступает посредником между пользователями и СУБД. Прямой доступ к таблицам SQL сторонними инструментами не предполагается — структура таблиц служебная и не документирована для прямой работы.
Файловый режим: когда его достаточно
В файловом режиме вся база — один файл 1Cv8.1CD, который лежит на локальном диске или в общей сетевой папке. Отдельная СУБД не нужна, платформа сама читает и пишет файл. Это самый простой и дешёвый вариант: установка занимает минуты, администрирование практически не требуется.
Ограничения существенные. При одновременной записи данные блокируются довольно грубо, поэтому при 5–7 активных пользователях начинаются ожидания и конфликты блокировок. Файл уязвим: обрыв сети или отключение питания в момент записи может повредить базу. Размер файла тоже имеет практический предел — при объёмах в десятки гигабайт работа заметно замедляется.
Файловый режим разумно выбирать для одного бухгалтера, небольшой фирмы с 2–4 пользователями, а также для тестовых и учебных копий базы. Для обмена с другими системами и фоновых регламентных заданий файловый режим подходит с оговорками — часть возможностей там ограничена.
Клиент-серверный режим и поддерживаемые СУБД
В клиент-серверном варианте работают три компонента: клиентское приложение пользователя, сервер 1С:Предприятия и СУБД. Сервер 1С принимает запросы от клиентов, формирует SQL-запросы и передаёт их СУБД. Такая архитектура снимает ограничения файлового режима: десятки и сотни одновременных пользователей, тонкое управление блокировками, штатные средства резервного копирования СУБД.
Платформа 1С официально поддерживает четыре СУБД. Microsoft SQL Server — наиболее распространённый выбор в среде Windows, требует платных лицензий (есть бесплатный Express с ограничением на размер базы). PostgreSQL — свободная СУБД, широко применяется для снижения стоимости владения; 1С работает как с «ванильным» PostgreSQL, так и со сборкой Postgres Pro. IBM DB2 и Oracle Database встречаются в крупных организациях, где эти СУБД уже используются корпоративно.
| Вариант | Лицензия | Типичный сценарий | Ограничения |
|---|---|---|---|
| Файловый режим | Без отдельной СУБД | 1–5 пользователей, малый бизнес | Блокировки, уязвимость файла, рост объёма |
| MS SQL Server | Платная (Express — бесплатно с лимитами) | Средние и крупные компании на Windows | Стоимость лицензий, требования к серверу |
| PostgreSQL | Свободная | Средний бизнес, экономия на лицензиях | Требует грамотной настройки |
| IBM DB2 / Oracle | Платная | Крупные предприятия с существующей инфраструктурой | Высокая стоимость, сложность администрирования |
Какую СУБД выбрать
Подходит для 1–5 пользователей и небольшого объёма данных. Ограничение: конфликты блокировок и риск повреждения файла при сбоях.
Оптимален, когда нужен клиент-серверный режим без затрат на лицензии СУБД. Требует администратора, способного настроить параметры под нагрузку 1С.
Удобен в инфраструктуре Windows с уже купленными лицензиями и штатным администратором. Ограничение: стоимость лицензий на сервер и подключения.
Оправданы только если уже используются в компании и есть профильные специалисты. Иначе — избыточные расходы.
Как определить, какая база используется у вас
Самый простой способ — посмотреть строку подключения. В стартовом окне выбора информационных баз выделите базу и нажмите «Изменить»: для файлового режима будет указан путь к каталогу с файлом 1Cv8.1CD, для клиент-серверного — имя сервера 1С и имя базы на сервере.
Внутри запущенной программы откройте «Файл → О программе» (или «Справка → О программе»): в разделе информации о базе виден режим работы, а для серверного варианта — тип СУБД и версия. Администратор может дополнительно посмотреть консоль кластера серверов 1С, где перечислены все базы и параметры их подключения к СУБД.
- 1Откройте окно запуска 1С и выделите нужную базу.
- 2Нажмите «Изменить» и посмотрите тип расположения: каталог на диске — файловый режим, сервер 1С — клиент-серверный.
- 3Для серверного варианта откройте «О программе» внутри базы — там указан тип СУБД.
- 4Проверьте размер: файл 1Cv8.1CD в каталоге базы или размер базы средствами СУБД.
Миграция из файлового режима на СУБД
Переход выполняется через выгрузку и загрузку информационной базы. В конфигураторе файловой базы делается выгрузка в файл .dt (Администрирование → Выгрузить информационную базу). Затем создаётся пустая база на сервере 1С с указанием СУБД, и в неё загружается полученный файл. Конфигурация и данные переносятся целиком.
На что обратить внимание: выгрузка большой базы занимает часы, и всё это время пользователи не должны работать. После загрузки нужно проверить права пользователей, настройки регламентных заданий и подключения внешних компонентов. Перед миграцией обязательно сделайте полную резервную копию и прогоните тестирование и исправление базы, чтобы не переносить накопленные ошибки.
Резервное копирование в разных режимах
Для файловой базы достаточно копировать файл 1Cv8.1CD при завершённых сеансах или делать выгрузку .dt через конфигуратор. Копирование файла при работающих пользователях недопустимо — копия будет неконсистентной.
В клиент-серверном режиме копирование файлов СУБД вручную бессмысленно: используются штатные средства — BACKUP DATABASE в MS SQL Server, pg_dump или физические копии в PostgreSQL. Выгрузка .dt остаётся полезной как переносимый формат, но не заменяет регулярные бэкапы СУБД, которые быстрее и позволяют восстановиться на конкретный момент времени.
Когда какой вариант выбирать
Критерии выбора сводятся к трём параметрам: количество одновременных пользователей, объём данных и требования к отказоустойчивости. До 5 пользователей и нескольких гигабайт данных файловый режим дешевле и проще. От 10 пользователей, при активном документообороте или необходимости работы филиалов — клиент-серверный режим становится необходимостью.
Между PostgreSQL и MS SQL выбирайте по бюджету и компетенциям: если в штате есть администратор MS SQL и куплены лицензии — логичен MS SQL; если задача минимизировать стоимость владения — PostgreSQL с грамотной настройкой. Oracle и DB2 имеет смысл рассматривать только при уже существующей корпоративной инфраструктуре на этих СУБД.
Маршрут выбора
Частые вопросы
Можно ли открыть таблицы базы 1С напрямую через SQL-запросы?
Технически база на MS SQL или PostgreSQL доступна штатными средствами СУБД, и читать данные для аналитики можно. Но структура таблиц служебная и не документирована, а любая прямая запись в обход платформы нарушает целостность данных и лишает поддержки. Для изменения данных используйте только механизмы платформы.
Какой максимальный размер файловой базы 1С?
Жёсткого порога, при котором база перестаёт открываться, на практике не называют, но по мере роста файла до десятков гигабайт заметно падает скорость работы и возрастает риск повреждений. Если база активно растёт, переход на клиент-серверный режим стоит планировать заранее, а не после появления проблем.
Чем PostgreSQL для 1С отличается от обычного PostgreSQL?
1С работает как со стандартным PostgreSQL, так и со сборкой Postgres Pro, в которой есть доработки под специфику платформы. В обоих случаях важна правильная настройка параметров сервера (память, соединения, автовакуум) — конфигурация «по умолчанию» под нагрузкой 1С обычно работает медленно.
Можно ли перенести базу с одной СУБД на другую?
Да, через выгрузку .dt: база выгружается из текущего сервера и загружается в новую информационную базу, созданную на другой СУБД. Прямой перенос файлов данных между разными СУБД невозможен — только через промежуточный формат платформы.
Нужна ли отдельная лицензия 1С для клиент-серверного режима?
Да, для работы сервера 1С:Предприятия требуется отдельная лицензия на сервер плюс клиентские лицензии на пользователей. Лицензии на СУБД (для MS SQL, Oracle, DB2) приобретаются отдельно у соответствующих производителей; PostgreSQL лицензионных платежей не требует.
Что делать, если файловая база не открывается после сбоя питания?
Сначала сделайте копию файла 1Cv8.1CD в текущем состоянии. Затем запустите утилиту chdbfl.exe из каталога платформы с включённой проверкой и исправлением ошибок, после чего выполните «Тестирование и исправление» в конфигураторе. Если база не восстанавливается — разворачивайте последнюю резервную копию.
Что важно запомнить
1С работает в файловом режиме (файл .1CD для 1–5 пользователей) или клиент-серверном на MS SQL, PostgreSQL, IBM DB2 или Oracle. Выбор зависит от числа пользователей, объёма данных и бюджета. Переход между режимами делается через выгрузку .dt, а резервное копирование должно соответствовать выбранному режиму.