Где 1С хранит данные: файловый режим и пять поддерживаемых СУБД
Содержание
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С (порт
1540). - Агент передаёт его менеджеру кластера (порт
1541). - Менеджер направляет сеанс на рабочий процесс. Диапазон портов рабочих процессов задаётся в свойствах рабочего сервера, по умолчанию
1560–1591. - Рабочий процесс уже работает с СУБД.
В списке баз такая база выглядит иначе: 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 Server | PostgreSQL | Db2 / Oracle |
|---|---|---|---|---|
| Пользователей комфортно | до 5 | десятки и сотни | десятки и сотни | сотни и больше |
| Лицензия сервера 1С | не нужна | нужна | нужна | нужна |
| Лицензия СУБД | не нужна | платная (Express — бесплатно с лимитами) | бесплатные и платные сборки | платная |
| ОС сервера | любая, где есть клиент | Windows | Linux и Windows | Linux и Windows |
| Сложность администрирования | минимальная | средняя | средняя, нужна настройка | высокая |
| Резервная копия без остановки | нет | да | да | да |
| Готовых рецептов в сообществе | много | больше всего | много и растёт | мало |
Сколько ресурсов закладывать
Ориентировочно для сервера, где на одной машине стоят сервер 1С и СУБД:
- 10–20 пользователей: 4–8 ядер, 32 ГБ ОЗУ, SSD.
- 20–50 пользователей: 8–16 ядер, 64 ГБ ОЗУ, быстрые NVMe-диски.
- Больше 50: сервер 1С и СУБД обычно разносят, ресурсы считают по нагрузочному тестированию.
Это стартовые цифры, а не норматив. Тяжёлые конфигурации вроде ERP или большие объёмы документов требуют больше.
Как перенести базу между файлом и СУБД
Переход с файловой базы на сервер — обычная история, когда фирма растёт. Перенести можно в любую сторону: файл → SQL, SQL → PostgreSQL, сервер → файл.
Универсальный способ — через выгрузку .dt:
- Сообщите пользователям о переходе и дождитесь, пока все выйдут из базы.
- Откройте старую базу в Конфигураторе и выполните
Администрирование → Выгрузить информационную базу. Сохраните файл.dt. - Создайте новую пустую базу в кластере сервера 1С с нужной СУБД.
- Откройте новую базу в Конфигураторе и выполните
Администрирование → Загрузить информационную базу, укажите сохранённый.dt. - Добавьте новую базу в список баз у пользователей, а старую уберите из списка, чтобы никто случайно не продолжил в ней работать.
- Проверьте ключевые отчёты: остатки, оборотно-сальдовую ведомость, задолженности.
Загрузка .dt полностью заменяет содержимое базы, в которую вы загружаете. Не перепутайте базы в Конфигураторе.
Для больших баз (сотни гигабайт) выгрузка и загрузка через .dt может идти часами. Тогда переход планируют на выходные и заранее делают пробный перенос на тестовом сервере, чтобы знать реальное время.
Частые вопросы
Можно ли подключить 1С к MySQL или SQLite?
Нужно ли покупать сервер 1С, если база на PostgreSQL бесплатная?
Можно ли открыть файл 1Cv8.1CD как обычную базу данных SQL?
Как быстро понять, файловая у меня база или серверная?
Справка → О программе. Запись File= означает файловую базу, Srvr= и Ref= — серверную.