Где 1С 8.3 хранит данные: файловый вариант, MS SQL, PostgreSQL и DB2 — как выбрать
Содержание
1С:Предприятие 8.3 работает с базой данных в двух вариантах: файловом (все данные лежат в одном файле 1Cv8.1CD, свою СУБД платформа встраивает сама) и клиент-серверном. Во втором случае данные хранит внешняя СУБД: Microsoft SQL Server, PostgreSQL, IBM DB2 или Oracle Database, а между пользователями и СУБД стоит сервер 1С.
Конфигурация при этом одна и та же. Бухгалтерия, ЗУП или УТ не «привязаны» к конкретной базе данных: одну и ту же информационную базу можно выгрузить из файлового варианта и загрузить в PostgreSQL или MS SQL без переделки. Выбор зависит от числа пользователей, объёма данных, бюджета на лицензии и того, кто будет обслуживать сервер.
Как узнать, какую базу использует ваша 1С
Сначала стоит понять, что уже стоит у вас. Проверка занимает минуту.
- В окне запуска 1С выделите базу. Внизу окна показан путь к ней.
- Если путь начинается с
File=и ведёт к папке на диске — база файловая. - Если видите
Srvr=иRef=— база клиент-серверная:Srvr— имя сервера 1С,Ref— имя базы в кластере. - Внутри программы то же самое видно в
Справка → О программе(меню под значком в заголовке окна): строка «Информационная база».
Тип СУБД у клиент-серверной базы в окне запуска не виден. Его показывает консоль администрирования серверов 1С: откройте кластер, узел «Информационные базы», свойства нужной базы — поле «Тип СУБД» и «Сервер баз данных».
Для разработчика есть встроенная функция СтрокаСоединенияИнформационнойБазы():
Строка = СтрокаСоединенияИнформационнойБазы();
Если СтрНайти(ВРег(Строка), "FILE=") > 0 Тогда
Сообщить("Файловая база: " + Строка);
Иначе
Сообщить("Клиент-серверная база: " + Строка);
КонецЕсли;
Файловая база 1С: когда её достаточно
Файловый вариант не требует ни SQL-сервера, ни сервера 1С. Каталог базы содержит файл 1Cv8.1CD с данными и служебные папки: 1Cv8FTxt (индекс полнотекстового поиска), журнал регистрации, временные файлы.
✅ Плюсы:
- 🟢 ставится за пять минут, обслуживать нечего;
- 🟢 не нужны лицензия на сервер 1С и лицензия СУБД;
- 🟢 резервная копия — копия папки при закрытой базе или выгрузка
.dt; - 🟢 легко перенести на другой компьютер.
❌ Ограничения:
- 🔴 при росте числа пользователей растут блокировки и «подвисания» при проведении;
- 🔴 работа по сети через общую папку чувствительна к сбоям связи — обрыв во время записи может повредить файл;
- 🔴 нет инструментов СУБД: плана обслуживания, журнала транзакций, восстановления на момент времени;
- 🔴 большие базы (десятки гигабайт) медленнее проводят и закрывают месяц.
Жёсткого лимита на число пользователей у файловой базы нет. На практике она комфортна для одного-пяти человек, реже — до десяти при спокойной нагрузке. Если бухгалтер и кладовщик одновременно проводят документы и получают «конфликт блокировок», это сигнал к переходу на сервер.
Если файловая база открыта по сети, публикуйте её через веб-сервер (Apache или IIS) вместо общей папки. Клиенты подключаются по HTTP, обрыв связи не бьёт по файлу напрямую.
Для проверки и ремонта файловой базы есть утилита chdbfl.exe в каталоге bin платформы и режим «Тестирование и исправление» в конфигураторе. Обе требуют, чтобы все пользователи вышли из базы.
Microsoft SQL Server для 1С
MS SQL Server — самая распространённая СУБД под 1С в России. Её хорошо знают администраторы, по ней много документации, ошибки в связке с 1С давно изучены.
Сильные стороны:
- 📈 стабильная производительность на больших объёмах и при десятках пользователей;
- 🧰 зрелые инструменты: SQL Server Management Studio, планы обслуживания, агент SQL;
- 💾 полная модель восстановления и бэкап журнала транзакций — откат на любую минуту.
Слабые стороны:
- 💰 платные лицензии MS SQL Server (по ядрам или по серверу + клиентские лицензии);
- 🪟 исторически Windows-ориентированная экосистема и сложности с покупкой новых лицензий в России.
Бесплатная редакция SQL Server Express с 1С работает, но ограничена: до 10 ГБ на одну базу, использование памяти буферного пула около 1,4 ГБ и не больше четырёх ядер. Для небольшой фирмы на 5–10 человек с базой в 3–5 ГБ этого хватает на годы, затем база упирается в лимит.
При создании базы MS SQL в окне 1С укажите «Смещение дат» = 2000. Так задумано для хранения дат 1С в типе datetime SQL Server. Менять смещение у существующей базы нельзя.
Что обязательно настроить после установки:
- План обслуживания: перестроение или реорганизация индексов и обновление статистик раз в сутки или неделю, ночью.
- Модель восстановления: «Простая», если хватает ежедневной полной копии; «Полная» — только вместе с регулярным бэкапом журнала, иначе файл
.ldfвырастет до размера диска. - Ограничение памяти SQL Server (
max server memory), если на той же машине работает сервер 1С: иначе SQL заберёт почти всю оперативную память.
PostgreSQL для 1С: бесплатная СУБД
PostgreSQL — главная бесплатная альтернатива MS SQL. За СУБД платить не нужно, она работает и на Windows, и на Linux. Лицензия на сервер 1С при этом нужна так же, как с MS SQL.
Главная деталь: для 1С нужна сборка PostgreSQL с доработками под 1С, а не «чистая» версия с сайта postgresql.org. Такие сборки выпускает фирма 1С (дистрибутив на портале поддержки для владельцев лицензий), а также Postgres Pro в вариантах, сертифицированных для 1С. Обычный PostgreSQL не умеет работать с некоторыми типами данных и запросами платформы.
Плюсы:
- 🆓 нет затрат на лицензии СУБД;
- 🐧 работает на Linux — можно собрать сервер полностью без Windows;
- 🇷🇺 российские сборки (Postgres Pro) входят в реестр отечественного ПО — важно для госсектора и компаний с требованиями импортозамещения.
Минусы:
- 🔧 требует настройки под нагрузку: параметры памяти (
shared_buffers,work_mem,effective_cache_size) по умолчанию рассчитаны на скромный сервер; - 🧹 нужно регулярное обслуживание:
VACUUMиANALYZE(автовакуум должен быть включён и успевать); - 🐢 на ряде тяжёлых отчётов и при большом числе пользователей без настройки может уступать MS SQL.
Порт по умолчанию — 5432. Пользователя для 1С обычно создают отдельно (например, postgres используют только для администрирования), пароль указывают при создании базы 1С.
IBM DB2 и Oracle: корпоративные варианты
IBM DB2 поддерживается платформой 8.3 и рассчитан на крупные инсталляции: сотни пользователей, терабайтные базы, мощное «железо». На практике его выбирают компании, у которых DB2 уже стоит в инфраструктуре и есть администраторы с опытом.
Oracle Database исторически также входит в список поддерживаемых СУБД, но в связке с 1С встречается редко. Для обеих СУБД действует одно правило: перед внедрением проверьте список поддерживаемых версий СУБД для вашего номера платформы в документации к ней.
Для бухгалтерии малого и среднего бизнеса DB2 и Oracle избыточны: дорогие лицензии, мало специалистов, меньше готовых решений типовых проблем.
Сравнение вариантов хранения данных 1С
| Вариант | Пользователей (ориентир) | Лицензия СУБД | Сервер 1С | Кому подходит |
|---|---|---|---|---|
| Файловая база | 1–5 | не нужна | не нужен | ИП, небольшая бухгалтерия |
| MS SQL Express | до 10–15 | бесплатно, лимит 10 ГБ | нужен | малая фирма с небольшой базой |
| MS SQL Server Standard | 10–200+ | платная | нужен | средний бизнес с Windows-инфраструктурой |
| PostgreSQL (сборка для 1С) | 10–200+ | бесплатно | нужен | экономия на лицензиях, Linux, импортозамещение |
| IBM DB2 / Oracle | сотни | платная | нужен | крупные корпорации с готовой экспертизой |
Числа пользователей — ориентиры, а не лимиты платформы. Реальная граница зависит от того, сколько документов проводят одновременно и насколько тяжёлые отчёты строят.
Как выбрать базу данных для 1С: порядок решения
Отвечайте на вопросы по порядку — каждый отсекает часть вариантов.
- Сколько человек работает одновременно? Один-три и база до 2–3 ГБ — файловая база, дальше можно не читать. Больше пяти с активным проведением — клиент-серверный вариант.
- Есть ли требования к отечественному ПО? Если да — PostgreSQL в российской сборке, MS SQL отпадает.
- Какая ОС на сервере? Только Linux — PostgreSQL. Windows Server — подходят обе.
- Есть ли уже лицензии MS SQL и администратор, который его знает? Да — разумно остаться на MS SQL. Нет — PostgreSQL дешевле на старте.
- Какой объём базы через 2–3 года? Если вырастет за 10 ГБ, SQL Express не берите, сразу Standard или PostgreSQL.
- Кто будет обслуживать? СУБД без регламентного обслуживания со временем тормозит любая. Заложите время администратора или договор с подрядчиком.
Сервер 1С и СУБД можно ставить на одну машину — для 10–30 пользователей это обычная схема. Разносить их на разные серверы имеет смысл, когда процессор или память одной машины уже загружены полностью.
Перенос базы 1С из файловой в SQL и между СУБД
Универсальный способ перехода — выгрузка и загрузка .dt. Он одинаково работает для «файл → SQL», «MS SQL → PostgreSQL» и обратно.
Загрузка .dt полностью заменяет содержимое базы-приёмника. Перед переносом сделайте отдельную копию исходной базы и предупредите пользователей: на время выгрузки в базе никто не должен работать.
- Попросите всех выйти из базы и откройте её в режиме Конфигуратор.
- Выполните
Администрирование → Выгрузить информационную базуи сохраните файл.dt. - Подготовьте СУБД: установите MS SQL или PostgreSQL для 1С, создайте пользователя с правами на создание баз.
- Установите сервер 1С той же версии платформы, что и у клиентов, и подключите лицензию на сервер.
- В окне запуска нажмите «Добавить» → «Создание новой информационной базы» → «Создание информационной базы без конфигурации» → вариант «На сервере 1С:Предприятия».
- Заполните параметры: кластер серверов 1С, имя базы в кластере, тип СУБД, сервер баз данных, имя базы данных, пользователь и пароль СУБД. Для MS SQL — смещение дат 2000. Отметьте «Создать базу данных в случае её отсутствия».
- Откройте новую пустую базу в конфигураторе и выполните
Администрирование → Загрузить информационную базу, выбрав файл.dt. - Запустите базу в пользовательском режиме и проверьте: остатки по ключевым счетам, последние документы, печать, обмены.
Загрузка базы на 5–10 ГБ обычно занимает от получаса до нескольких часов — зависит от дисков и процессора. Планируйте перенос на вечер или выходные.
Старую файловую базу не удаляйте сразу. Переименуйте папку и держите её 2–4 недели как страховку, но уберите из списка баз у пользователей, чтобы никто не начал вносить данные в обе.
Частые ошибки при выборе и настройке СУБД для 1С
- ❌ Ставят «чистый» PostgreSQL. База не создаётся или падает на первых запросах. Нужна сборка с доработками под 1С.
- ❌ Забывают про лицензию на сервер 1С. Бесплатная СУБД не отменяет её: лицензия на сервер 1С нужна при любой СУБД, затраты на неё закладывают в бюджет заранее.
- ❌ Полная модель восстановления без бэкапа журнала в MS SQL. Через пару месяцев
.ldfзанимает весь диск, база останавливается. - ❌ Не ограничивают память SQL Server на общей машине с сервером 1С. Рабочие процессы 1С начинают вытесняться, всё тормозит.
- ❌ Антивирус сканирует файлы базы. Для файловой базы это папка с
1Cv8.1CD, для СУБД — каталоги данных и журналов. Добавьте их в исключения. - ❌ Разные версии платформы у сервера 1С и клиентов. Клиент не подключается к кластеру, пока версии не совпадут.