Администрирование · 14 мин
Какую СУБД использует 1С и как выбрать подходящую
Какие СУБД поддерживает 1С: файловый режим, MS SQL Server, PostgreSQL, IBM Db2, Oracle. Как выбрать базу, проверить текущую и избежать ошибок администрирования.
Платформа 1С:Предприятие не хранит данные сама по себе — она работает поверх системы управления базами данных (СУБД). В простейшем случае это файловый вариант, где вся база лежит в одном файле 1Cv8.1CD, но в рабочих многопользовательских системах используется клиент-серверная архитектура с полноценной СУБД.
Официально платформа 1С поддерживает четыре клиент-серверных СУБД: Microsoft SQL Server, PostgreSQL (включая сборки Postgres Pro), IBM Db2 и Oracle Database. Выбор конкретной СУБД влияет на стоимость лицензий, производительность, требования к администрированию и отказоустойчивость всей системы.
Понимание того, какая СУБД стоит «под» вашей 1С, нужно не только администраторам: от этого зависят план резервного копирования, стратегия обновлений, диагностика медленной работы и даже стоимость владения. Ниже разберём все варианты, их ограничения и практические критерии выбора.
Как устроена архитектура: файловый и клиент-серверный режимы
В файловом режиме вся информационная база хранится в одном файле 1Cv8.1CD на локальном диске или сетевой папке. Платформа сама выполняет роль механизма доступа к данным, отдельная СУБД не требуется. Такой вариант подходит для небольших внедрений — обычно до 5–10 одновременно работающих пользователей, хотя формального жёсткого ограничения по числу пользователей платформа не накладывает.
Ограничения файлового режима принципиальны: файл базы блокируется при ряде операций, нет полноценного параллелизма запросов, сложно организовать регламентные задания без запущенного сеанса, а размер базы при интенсивной работе быстро упирается в практические пределы. Кроме того, сетевой доступ к файлу чувствителен к качеству сети — обрыв соединения может повредить базу.
В клиент-серверном режиме появляется трёхзвенная архитектура: клиентское приложение, кластер серверов 1С:Предприятия и сервер СУБД. Сервер 1С формирует запросы к СУБД, а СУБД отвечает за хранение, транзакции, блокировки и целостность данных. Именно здесь и возникает вопрос выбора конкретной СУБД.
Какие СУБД поддерживает платформа 1С
Список поддерживаемых СУБД фиксирован платформой — произвольную базу данных подключить нельзя, даже если она понимает SQL. Платформа использует собственные механизмы работы с каждой конкретной СУБД, поэтому совместимость определяется версией платформы и версией СУБД из системных требований 1С.
| СУБД | Лицензионная модель | Типичный сценарий | Ключевые особенности |
|---|---|---|---|
| Microsoft SQL Server | Платная (есть бесплатный Express с ограничениями) | Инфраструктура на Windows, средние и крупные базы | Зрелые инструменты администрирования, много специалистов на рынке |
| PostgreSQL / Postgres Pro | PostgreSQL — свободная; Postgres Pro — коммерческая сборка | Экономия на лицензиях, Linux-инфраструктура | Требуются специальные сборки/патчи, рекомендуемые 1С |
| IBM Db2 | Платная | Крупные предприятия с существующей инфраструктурой IBM | Меньше специалистов, реже встречается в новых проектах |
| Oracle Database | Платная, дорогая | Крупные корпоративные системы с действующими лицензиями Oracle | Высокая стоимость владения, сложное лицензирование |
На практике подавляющее большинство внедрений использует MS SQL Server или PostgreSQL. Db2 и Oracle выбирают там, где они уже развёрнуты в компании и есть штатные администраторы этих СУБД — покупать их «с нуля» только для 1С экономически почти никогда не оправдано.
Microsoft SQL Server: когда это оправданный выбор
MS SQL Server — самый распространённый вариант для клиент-серверной 1С в Windows-инфраструктуре. Причины прагматичные: огромное количество администраторов и готовых инструкций, удобный Management Studio, предсказуемое поведение под нагрузкой, полноценная поддержка со стороны 1С.
Для небольших баз существует бесплатная редакция SQL Server Express, но у неё жёсткие ограничения: ограниченный размер базы данных, лимит на используемую память и число процессорных ядер, отсутствие агента SQL Server для планировщика заданий. Для рабочей базы с несколькими десятками пользователей Express обычно не подходит — упираетесь в лимит памяти, и система начинает тормозить.
Полные редакции (Standard, Enterprise) лицензируются по ядрам или по схеме «сервер + клиентские лицензии», и стоимость может составлять заметную часть бюджета внедрения. Это главный аргумент против MS SQL и главный аргумент за PostgreSQL.
PostgreSQL и Postgres Pro: бесплатная альтернатива
PostgreSQL позволяет построить клиент-серверную 1С без покупки лицензий на СУБД. Однако ванильный PostgreSQL «из коробки» платформой не поддерживается — требуются специальные сборки с патчами, которые публикуются 1С и партнёрами, либо коммерческая сборка Postgres Pro, сертифицированная для работы с 1С.
Postgres Pro Standard и Enterprise — платные, но заметно дешевле MS SQL Server, и при этом включают оптимизации именно под нагрузку 1С. Для крупных внедрений на PostgreSQL это часто более надёжный путь, чем самостоятельная сборка и сопровождение патченного PostgreSQL.
Практические нюансы: PostgreSQL требует внимательной настройки конфигурации (память, autovacuum, параметры соединений) — настройки по умолчанию рассчитаны на слабое железо и дадут низкую производительность. Также регулярное обслуживание (VACUUM, переиндексация) здесь не опция, а необходимость: без него таблицы «разбухают», и запросы деградируют.
MS SQL Server против PostgreSQL для 1С
Подходит при наличии бюджета и Windows-инфраструктуры; проще найти администратора. Ограничение — высокая стоимость лицензий при росте числа ядер сервера.
Подходит для экономии на лицензиях и Linux-инфраструктуры. Ограничение — нужны специальные сборки и более тонкая настройка, меньше специалистов с опытом именно связки 1С+PostgreSQL.
Подходит для крупных внедрений на PostgreSQL, где нужна поддержка вендора и оптимизации под 1С. Ограничение — всё же платная лицензия, хотя и дешевле MS SQL.
Подходят только при уже имеющейся инфраструктуре и штатных администраторах этих СУБД. Покупать их специально под 1С нерационально.
Как узнать, какая СУБД используется в вашей базе
Если система уже работает и нужно определить тип хранилища, есть несколько простых способов. Самый быстрый — открыть список информационных баз в окне запуска 1С: у клиент-серверных баз в параметрах указаны кластер серверов и имя базы данных, у файловых — путь к каталогу с файлом 1Cv8.1CD.
В конфигураторе откройте «Администрирование → Свойства информационной базы» или посмотрите строку соединения: для клиент-серверного варианта там будут параметры Srvr, Ref и, как правило, указание СУБД (DBMSSQL для MS SQL, PostgreSQL для PostgreSQL, DB2, Oracle). Администратор может дополнительно посмотреть консоль кластера серверов 1С — в свойствах базы тип СУБД указан явно.
- 1Откройте окно запуска 1С и выделите базу: если указан путь к папке — это файловый режим, если сервер и имя базы — клиент-серверный.
- 2Откройте свойства базы (кнопка изменения в окне запуска) и посмотрите параметры соединения: Srvr и Ref означают клиент-серверный режим.
- 3В консоли кластера серверов 1С найдите информационную базу и откройте её свойства — там явно указан тип СУБД (MS SQL Server, PostgreSQL, Db2 или Oracle).
- 4При доступе к серверу БД проверьте, какие службы запущены: служба SQL Server (MSSQLSERVER) или процессы postgres подтвердят конкретную СУБД.
Миграция между СУБД: что нужно знать
Перенос базы между СУБД (например, с MS SQL на PostgreSQL) выполняется штатным механизмом выгрузки/загрузки через файл .dt: выгружаете базу из конфигуратора в файл, создаёте новую пустую базу на целевой СУБД и загружаете туда данные. Прямого переноса средствами самих СУБД (backup/restore) между разными типами баз не существует.
Главные риски миграции — длительность загрузки больших баз (часы при сотнях гигабайт), необходимость пересоздания полнотекстовых индексов и регламентных заданий, а также различия в поведении запросов: некоторые запросы, оптимальные под MS SQL, на PostgreSQL могут работать заметно медленнее, и наоборот. После миграции обязательно нагрузочное тестирование типовых операций.
Резервное копирование и обслуживание в зависимости от СУБД
Выгрузка в .dt — универсальный, но не единственный и не самый эффективный способ резервного копирования клиент-серверных баз. Для больших баз правильнее использовать штатные средства СУБД: полные и разностные бэкапы в MS SQL Server, pg_dump или физические копии с WAL-архивацией в PostgreSQL. Это быстрее, позволяет восстановить базу на точку во времени и не требует остановки работы пользователей.
Обслуживание тоже различается. В MS SQL Server настраивают планы обслуживания: обновление статистики, перестроение индексов, контроль журнала транзакций (при полной модели восстановления журнал растёт, пока не делаются бэкапы журнала). В PostgreSQL критичны настройки autovacuum и периодическая переиндексация. Пренебрежение этими операциями — самая частая причина постепенной деградации производительности 1С.
Как выбрать СУБД под новое внедрение
Алгоритм выбора сводится к нескольким вопросам. Сколько пользователей будет работать одновременно и какой ожидается объём данных? Если меньше десятка пользователей и база небольшая — начните с файлового режима с обязательным регламентом резервного копирования. Если пользователей десятки и больше — только клиент-серверный вариант.
Дальше вопрос бюджета и компетенций. Есть действующие лицензии MS SQL Server и администратор, который его знает, — выбирайте MS SQL. Бюджет ограничен, инфраструктура на Linux либо лицензионная чистота важна при минимуме затрат — PostgreSQL со сборками 1С или Postgres Pro. Db2 и Oracle разумны только при наличии готовой экспертизы в компании.
Как выбрать вариант хранения
Проверка результата после развёртывания или миграции
После выбора и установки СУБД убедитесь, что система работает корректно: база открывается в режиме предприятия, типовые операции (проведение документов, формирование отчётов) выполняются за приемлемое время, регламентные задания запускаются по расписанию. Проверьте, что резервное копирование реально выполняется и, что важнее, что копия восстанавливается на тестовом сервере.
Как проверить результат
Указан ожидаемый тип СУБД, база открывается без ошибок
Ошибки подключения, база не видна в кластере
Проведение документов и отчёты выполняются за время, сопоставимое с прежним или быстрее
Резкое замедление после миграции — нужен анализ планов запросов и настроек СУБД
Бэкап создаётся по расписанию и успешно восстанавливается на тестовом стенде
Копии нет, не восстанавливается или восстановление не проверялось
Выполняются по расписанию, в журнале нет ошибок
Задания не стартуют или падают с ошибками соединения
Что важно запомнить
1С работает либо в файловом режиме, либо с одной из четырёх СУБД: MS SQL Server, PostgreSQL/Postgres Pro, Db2, Oracle. Для большинства внедрений выбор стоит между MS SQL Server (проще сопровождать) и PostgreSQL (дешевле лицензии). Тип СУБД виден в свойствах информационной базы, а миграция между СУБД выполняется только через выгрузку/загрузку .dt с последующей проверкой производительности.
Частые вопросы
Может ли 1С работать с MySQL или MariaDB?
Нет. Платформа 1С:Предприятие поддерживает строго ограниченный список СУБД: MS SQL Server, PostgreSQL (включая Postgres Pro), IBM Db2 и Oracle Database. MySQL и MariaDB в этот список не входят, и подключить их в качестве хранилища информационной базы нельзя — только как внешние источники данных для отдельных интеграционных задач.
Что лучше для небольшой фирмы: файловая база или PostgreSQL?
Если одновременно работают до 5–10 пользователей и база небольшая, файловый режим проще и дешевле: не нужен отдельный сервер СУБД и его администрирование. PostgreSQL имеет смысл, когда пользователей больше, нужна круглосуточная работа регламентных заданий или требуется надёжное резервное копирование без остановки работы.
Подойдёт ли бесплатный SQL Server Express для рабочей базы 1С?
Только для очень маленьких баз. Express-редакция ограничивает размер базы, объём используемой оперативной памяти и число ядер, а также не имеет агента для планировщика заданий. При росте базы и числа пользователей вы быстро упрётесь в эти лимиты, и миграция на полную редакцию станет неизбежной.
Можно ли перенести базу 1С с MS SQL на PostgreSQL без потери данных?
Да, штатным способом: выгрузка базы в файл .dt из конфигуратора и загрузка в новую пустую базу на PostgreSQL. Данные и конфигурация переносятся полностью, но нужно заново настроить регламентные задания, полнотекстовый поиск и проверить производительность типовых операций — поведение запросов на разных СУБД отличается.
Где посмотреть, какая СУБД используется в моей базе 1С?
В окне запуска 1С выделите базу и откройте её свойства: если указан путь к папке — это файловый режим, если сервер и имя базы — клиент-серверный. Точный тип СУБД виден в консоли кластера серверов 1С в свойствах информационной базы либо в строке соединения по параметру DBMS.
Нужно ли отдельно лицензировать СУБД для 1С?
Да, лицензии на платформу 1С не включают лицензии на СУБД. MS SQL Server, Db2 и Oracle лицензируются отдельно у соответствующих вендоров. PostgreSQL в сборках 1С распространяется свободно, а Postgres Pro — по коммерческой лицензии, обычно более доступной, чем MS SQL Server.