Где 1С хранит данные: файловый режим и пять поддерживаемых СУБД

· 10 мин

Содержание

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

Какую выбирают на практике? Файловую — для небольшой фирмы на 1–5 человек и одной бухгалтерской базы. MS SQL Server — там, где уже есть инфраструктура Microsoft и бюджет на лицензии. PostgreSQL — когда нужна бесплатная или отечественная СУБД, в том числе под импортозамещение. Db2 и Oracle встречаются редко, в основном в крупных компаниях, где эти СУБД уже стоят.

ВариантГде хранятся данныеНужен сервер 1ССтоимость СУБДТипичный масштаб
Файловыйфайл 1Cv8.1CDнетбесплатно (часть платформы)1–5 пользователей
MS SQL Serverбаза на SQL Serverдаплатная, кроме Expressот 10 до сотен пользователей
PostgreSQLбаза на PostgreSQLдабесплатные сборки и платные с поддержкойот 10 до сотен пользователей
IBM Db2база на Db2даплатнаякрупные компании
Oracle Databaseбаза на Oracleдаплатнаякрупные компании

Других вариантов нет. MySQL, SQLite, MariaDB, Firebird платформа 8.3 в качестве хранилища информационной базы не поддерживает.

Файловый режим 1С: как устроен и где его потолок

В файловом режиме у 1С нет отдельного сервера базы данных. Движок СУБД встроен прямо в платформу. Клиент на каждом компьютере сам открывает файл 1Cv8.1CD — локально или по сети через общую папку.

Узнать, что база файловая, просто. В списке баз выделите её и посмотрите путь внизу окна запуска. Если там File="D:\Bases\Buh" — база файловая. Ещё один способ — Справка → О программе: в строке информационной базы будет та же запись File=....

Что лежит в каталоге файловой базы

  • 📄 1Cv8.1CD — сама база: данные и конфигурация.
  • 📁 1Cv8Log — журнал регистрации.
  • 🔒 временные служебные файлы — появляются во время работы и исчезают после выхода пользователей.

Для резервной копии файловой базы достаточно скопировать 1Cv8.1CD, но только когда в базе никто не работает . Копия файла «на ходу» может оказаться повреждённой. Надёжнее выгрузить базу в .dt через Конфигуратор: Администрирование → Выгрузить информационную базу.

Ограничения файлового варианта

  • 👥 Число пользователей. Жёсткого лимита нет, но при одновременной работе платформа блокирует таблицы целиком. На практике комфортно работают 3–5 человек. При 8–10 активных пользователях начинаются ожидания на блокировках и ошибки Конфликт блокировок при выполнении транзакции.
  • 🌐 Сеть. Через общую папку по локальной сети база работает приемлемо. Через VPN или медленный канал — плохо, и растёт риск повреждения файла при обрыве.
  • 💾 Размер. В старом формате хранения размер одной таблицы ограничен 4 ГБ. Начиная с платформы 8.3.8 есть новый формат с увеличенным размером страницы, где этот предел снят. Надёжный способ перевести базу в новый формат — выгрузить её в .dt и загрузить в новую пустую базу, созданную на актуальной платформе.
  • 🧰 Регламент. Нет фоновых регламентных заданий по расписанию без запущенного клиента (в файловом режиме они выполняются, только пока открыт сеанс) и нет кластерных механизмов.

Если файловая база тормозит у 3–4 человек, сначала проверьте антивирус: исключите каталог базы из проверки «на лету». Это частая причина замедления, а не сам файловый формат.

Восстановить повреждённую файловую базу помогает утилита chdbfl.exe из каталога bin платформы. Запускайте её только на копии файла и только когда все пользователи вышли из базы.

Клиент-серверный вариант: из чего он состоит

Клиент-серверная схема — это три слоя. Клиенты 1С на рабочих местах. Сервер 1С:Предприятия (кластер), который выполняет запросы и бизнес-логику. СУБД, где физически лежат таблицы.

Клиент не обращается к СУБД напрямую. Цепочка такая:

  1. Клиент подключается к агенту сервера 1С (порт 1540).
  2. Агент передаёт его менеджеру кластера (порт 1541).
  3. Менеджер направляет сеанс на рабочий процесс. Диапазон портов рабочих процессов задаётся в свойствах рабочего сервера, по умолчанию 1560–1591.
  4. Рабочий процесс уже работает с СУБД.

В списке баз такая база выглядит иначе: Srvr="srv1c";Ref="buh". Здесь srv1c — имя сервера 1С, buh — имя базы в кластере. Тип СУБД, сервер баз данных и имя базы в СУБД видны в свойствах информационной базы в консоли администрирования серверов 1С.

Что даёт сервер по сравнению с файлом

  • 🔐 Блокировки на уровне записей, а не таблиц. Десятки людей проводят документы одновременно.
  • ⏱ Регламентные задания по расписанию без открытого клиента: обмены, загрузка курсов, закрытие сессий.
  • 📈 Масштабирование: несколько рабочих процессов, несколько рабочих серверов в кластере.
  • 🛡 Резервное копирование средствами СУБД без остановки работы.

Что нужно купить и поставить

  • Лицензию на сервер 1С:Предприятия (ПРОФ или КОРП) — отдельно от клиентских лицензий.
  • Саму СУБД и лицензии на неё, если СУБД платная.
  • Сервер (физический или виртуальный) с достаточным объёмом памяти и быстрыми дисками.

Сервер 1С и СУБД можно ставить на одну машину. Для 20–30 пользователей это нормальная схема. Разносить их по разным серверам имеет смысл при большой нагрузке.

MS SQL Server для 1С: самый распространённый выбор

Microsoft SQL Server много лет был основной СУБД для 1С в России. Большинство администраторов и консультантов знают его лучше остальных, по нему больше всего готовых рецептов.

Плюсы:

  • ✅ Стабильная работа с 1С, предсказуемая производительность.
  • ✅ Удобные инструменты: SQL Server Management Studio, планы обслуживания, мастер резервного копирования.
  • ✅ Работает на Windows Server, к которому привыкли в большинстве офисов.

Минусы:

  • ❌ Стоимость: лицензии Standard или Enterprise по ядрам либо по схеме «сервер + CAL».
  • ❌ Новые лицензии Microsoft в России сейчас купить сложно, отсюда массовый переход на PostgreSQL.

SQL Server Express

Бесплатная редакция Express с 1С работает. Но у неё жёсткие ограничения: размер одной базы данных — до 10 ГБ, использование памяти и процессорных ядер урезано. Бухгалтерия небольшой фирмы перерастает 10 ГБ за несколько лет. Express подходит для теста или для очень маленькой базы, но не как долгосрочное решение.

Что настроить сразу

  • Модель восстановления базы: Full, если делаете резервные копии журнала транзакций, или Simple, если хватает ежедневных полных копий. При Full без копий журнала файл .ldf растёт до заполнения диска.
  • Ограничение памяти SQL Server (max server memory), чтобы оставить память серверу 1С и операционной системе, если они на одной машине.
  • План обслуживания: обновление статистик ежедневно, перестроение или реорганизация индексов раз в неделю, резервные копии.

Не меняйте структуру таблиц и данные базы 1С прямыми SQL-запросами. Платформа не узнает об изменениях, итоги регистров разъедутся, а поддержка такую базу не примет.

PostgreSQL для 1С: бесплатная и отечественная альтернатива

PostgreSQL — свободная СУБД. Для 1С используют не «чистый» PostgreSQL с официального сайта проекта, а сборки с доработками под платформу. Их выпускают фирма 1С и российские разработчики, например Postgres Professional (Postgres Pro для 1С). Стандартная сборка без этих доработок для промышленной работы с 1С не подходит.

Плюсы:

  • ✅ Сборки PostgreSQL для 1С можно получить бесплатно. Платные редакции дают поддержку и дополнительные функции.
  • ✅ Работает и на Linux, и на Windows. Связка «сервер 1С + PostgreSQL на Linux» не требует лицензий Microsoft вовсе.
  • ✅ Отечественные сборки входят в реестр российского ПО — это важно для госзаказчиков и компаний под требованиями импортозамещения.

Минусы:

  • ❌ Требует настройки. С параметрами по умолчанию PostgreSQL работает заметно медленнее, чем мог бы.
  • ❌ Часть типовых запросов 1С на PostgreSQL исторически выполнялась медленнее, чем на MS SQL. Разница сокращается с каждой версией платформы и СУБД, но на тяжёлых отчётах её ещё можно заметить.
  • ❌ Администраторов с опытом PostgreSQL меньше, чем специалистов по SQL Server.

Ключевые параметры postgresql.conf

Ориентиры для выделенного сервера под 1С (финальные значения подбирают под нагрузку):

# память под кэш страниц: около 25% ОЗУ
shared_buffers = 8GB
# сколько памяти планировщик считает доступной под кэш ОС: 50–75% ОЗУ
effective_cache_size = 24GB
# память на одну операцию сортировки или хэширования
work_mem = 64MB
# память для обслуживания: VACUUM, создание индексов
maintenance_work_mem = 1GB

Пример выше — для сервера с 32 ГБ ОЗУ. Кроме памяти, следите, чтобы работал автовакуум и регулярно обновлялась статистика. Без этого таблицы «пухнут», а запросы со временем деградируют.

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

IBM Db2 и Oracle Database: варианты для крупных компаний

Обе СУБД платформа 1С:Предприятие 8.3 поддерживает официально. Но на практике это редкость.

Когда их выбирают:

  • 🏢 В компании уже есть Db2 или Oracle, лицензии оплачены, есть штатные администраторы.
  • 🏢 Корпоративный стандарт требует одну СУБД для всех систем.

Почему встречаются редко:

  • 💰 Высокая стоимость лицензий и поддержки.
  • 🔧 Мало специалистов, которые знают одновременно и 1С, и эти СУБД.
  • 📚 Мало опыта эксплуатации: проблемы приходится решать самим, готовых решений в сообществе почти нет.
  • 🌍 Для российских компаний добавились сложности с покупкой и поддержкой западного ПО.

Перед выбором Db2 или Oracle сверьтесь с требованиями к версиям СУБД для вашей версии платформы. Список поддерживаемых версий СУБД меняется от релиза к релизу платформы, и старая версия СУБД может перестать поддерживаться.

Сравнение СУБД для 1С и выбор под вашу задачу

Скорость работы 1С зависит не только от СУБД. Чаще упирается в диски, память и качество кода в конфигурации. Медленный HDD или нехватка ОЗУ замедлят базу на любой СУБД. Поэтому сравнение ниже — про общий характер, а не про «кто быстрее на N процентов».

КритерийФайловаяMS SQL ServerPostgreSQLDb2 / Oracle
Пользователей комфортнодо 5десятки и сотнидесятки и сотнисотни и больше
Лицензия сервера 1Сне нужнанужнанужнанужна
Лицензия СУБДне нужнаплатная (Express — бесплатно с лимитами)бесплатные и платные сборкиплатная
ОС сервералюбая, где есть клиентWindowsLinux и WindowsLinux и Windows
Сложность администрированияминимальнаясредняясредняя, нужна настройкавысокая
Резервная копия без остановкинетдадада
Готовых рецептов в сообществемногобольше всегомного и растётмало
Какой вариант хранения базы вам подходит?

Сколько ресурсов закладывать

Ориентировочно для сервера, где на одной машине стоят сервер 1С и СУБД:

  • 10–20 пользователей: 4–8 ядер, 32 ГБ ОЗУ, SSD.
  • 20–50 пользователей: 8–16 ядер, 64 ГБ ОЗУ, быстрые NVMe-диски.
  • Больше 50: сервер 1С и СУБД обычно разносят, ресурсы считают по нагрузочному тестированию.

Это стартовые цифры, а не норматив. Тяжёлые конфигурации вроде ERP или большие объёмы документов требуют больше.

Как перенести базу между файлом и СУБД

Переход с файловой базы на сервер — обычная история, когда фирма растёт. Перенести можно в любую сторону: файл → SQL, SQL → PostgreSQL, сервер → файл.

Универсальный способ — через выгрузку .dt:

  1. Сообщите пользователям о переходе и дождитесь, пока все выйдут из базы.
  2. Откройте старую базу в Конфигураторе и выполните Администрирование → Выгрузить информационную базу. Сохраните файл .dt.
  3. Создайте новую пустую базу в кластере сервера 1С с нужной СУБД.
  4. Откройте новую базу в Конфигураторе и выполните Администрирование → Загрузить информационную базу, укажите сохранённый .dt.
  5. Добавьте новую базу в список баз у пользователей, а старую уберите из списка, чтобы никто случайно не продолжил в ней работать.
  6. Проверьте ключевые отчёты: остатки, оборотно-сальдовую ведомость, задолженности.

Загрузка .dt полностью заменяет содержимое базы, в которую вы загружаете. Не перепутайте базы в Конфигураторе.

Для больших баз (сотни гигабайт) выгрузка и загрузка через .dt может идти часами. Тогда переход планируют на выходные и заранее делают пробный перенос на тестовом сервере, чтобы знать реальное время.

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

Можно ли подключить 1С к MySQL или SQLite?
Нет. Платформа 1С:Предприятие 8.3 хранит информационную базу только в файловом формате или в одной из четырёх СУБД: MS SQL Server, PostgreSQL, IBM Db2, Oracle Database. Другие СУБД можно использовать лишь как внешние источники данных для обмена, но не как хранилище базы.
Нужно ли покупать сервер 1С, если база на PostgreSQL бесплатная?
Да. Бесплатна только СУБД. Для клиент-серверного режима всё равно нужна лицензия на сервер 1С:Предприятия, плюс клиентские лицензии на пользователей.
Можно ли открыть файл 1Cv8.1CD как обычную базу данных SQL?
Нет. Это собственный формат платформы, стандартными SQL-клиентами его не открыть. Работать с ним штатно можно через 1С, а данные выгружать средствами самой программы.
Как быстро понять, файловая у меня база или серверная?
Посмотрите строку подключения в окне запуска или в Справка → О программе. Запись File= означает файловую базу, Srvr= и Ref= — серверную.
Становится ли 1С быстрее после перехода с файловой базы на сервер?
При многих одновременных пользователях — да, за счёт блокировок на уровне записей. Для одного-двух человек на хорошем SSD файловая база может работать не медленнее серверной, а иногда и быстрее.