Где 1С 8.3 хранит данные: файловый вариант, MS SQL, PostgreSQL и DB2 — как выбрать

· 10 мин

Содержание

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

Конфигурация при этом одна и та же. Бухгалтерия, ЗУП или УТ не «привязаны» к конкретной базе данных: одну и ту же информационную базу можно выгрузить из файлового варианта и загрузить в PostgreSQL или MS SQL без переделки. Выбор зависит от числа пользователей, объёма данных, бюджета на лицензии и того, кто будет обслуживать сервер.

Как узнать, какую базу использует ваша 1С

Сначала стоит понять, что уже стоит у вас. Проверка занимает минуту.

  1. В окне запуска 1С выделите базу. Внизу окна показан путь к ней.
  2. Если путь начинается с File= и ведёт к папке на диске — база файловая.
  3. Если видите Srvr= и Ref= — база клиент-серверная: Srvr — имя сервера 1С, Ref — имя базы в кластере.
  4. Внутри программы то же самое видно в Справка → О программе (меню под значком в заголовке окна): строка «Информационная база».

Тип СУБД у клиент-серверной базы в окне запуска не виден. Его показывает консоль администрирования серверов 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. Менять смещение у существующей базы нельзя.

Что обязательно настроить после установки:

  1. План обслуживания: перестроение или реорганизация индексов и обновление статистик раз в сутки или неделю, ночью.
  2. Модель восстановления: «Простая», если хватает ежедневной полной копии; «Полная» — только вместе с регулярным бэкапом журнала, иначе файл .ldf вырастет до размера диска.
  3. Ограничение памяти 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 Standard10–200+платнаянуженсредний бизнес с Windows-инфраструктурой
PostgreSQL (сборка для 1С)10–200+бесплатнонуженэкономия на лицензиях, Linux, импортозамещение
IBM DB2 / Oracleсотниплатнаянуженкрупные корпорации с готовой экспертизой

Числа пользователей — ориентиры, а не лимиты платформы. Реальная граница зависит от того, сколько документов проводят одновременно и насколько тяжёлые отчёты строят.

Как выбрать базу данных для 1С: порядок решения

Отвечайте на вопросы по порядку — каждый отсекает часть вариантов.

  1. Сколько человек работает одновременно? Один-три и база до 2–3 ГБ — файловая база, дальше можно не читать. Больше пяти с активным проведением — клиент-серверный вариант.
  2. Есть ли требования к отечественному ПО? Если да — PostgreSQL в российской сборке, MS SQL отпадает.
  3. Какая ОС на сервере? Только Linux — PostgreSQL. Windows Server — подходят обе.
  4. Есть ли уже лицензии MS SQL и администратор, который его знает? Да — разумно остаться на MS SQL. Нет — PostgreSQL дешевле на старте.
  5. Какой объём базы через 2–3 года? Если вырастет за 10 ГБ, SQL Express не берите, сразу Standard или PostgreSQL.
  6. Кто будет обслуживать? СУБД без регламентного обслуживания со временем тормозит любая. Заложите время администратора или договор с подрядчиком.
Какой у вас случай?

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

Перенос базы 1С из файловой в SQL и между СУБД

Универсальный способ перехода — выгрузка и загрузка .dt. Он одинаково работает для «файл → SQL», «MS SQL → PostgreSQL» и обратно.

Загрузка .dt полностью заменяет содержимое базы-приёмника. Перед переносом сделайте отдельную копию исходной базы и предупредите пользователей: на время выгрузки в базе никто не должен работать.

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

Загрузка базы на 5–10 ГБ обычно занимает от получаса до нескольких часов — зависит от дисков и процессора. Планируйте перенос на вечер или выходные.

После переноса на сервер
Выполнено: 0 / 5

Старую файловую базу не удаляйте сразу. Переименуйте папку и держите её 2–4 недели как страховку, но уберите из списка баз у пользователей, чтобы никто не начал вносить данные в обе.

Частые ошибки при выборе и настройке СУБД для 1С

  • ❌ Ставят «чистый» PostgreSQL. База не создаётся или падает на первых запросах. Нужна сборка с доработками под 1С.
  • ❌ Забывают про лицензию на сервер 1С. Бесплатная СУБД не отменяет её: лицензия на сервер 1С нужна при любой СУБД, затраты на неё закладывают в бюджет заранее.
  • ❌ Полная модель восстановления без бэкапа журнала в MS SQL. Через пару месяцев .ldf занимает весь диск, база останавливается.
  • ❌ Не ограничивают память SQL Server на общей машине с сервером 1С. Рабочие процессы 1С начинают вытесняться, всё тормозит.
  • ❌ Антивирус сканирует файлы базы. Для файловой базы это папка с 1Cv8.1CD, для СУБД — каталоги данных и журналов. Добавьте их в исключения.
  • ❌ Разные версии платформы у сервера 1С и клиентов. Клиент не подключается к кластеру, пока версии не совпадут.
Можно ли держать файловую базу и SQL-базу одной и той же организации параллельно?
Можно, но данные в них разойдутся с первого же документа. Вести учёт нужно только в одной базе, вторую держать как архив.
Быстрее ли SQL-база, чем файловая, для одного пользователя?
Не обязательно. На одном пользователе и небольшой базе файловый вариант часто работает так же или быстрее: нет сетевых обращений между сервером 1С и СУБД.
Нужно ли переписывать конфигурацию при переходе на PostgreSQL?
Для типовых конфигураций — нет. Проблемы возможны в доработках, где запросы написаны в обход механизмов платформы или используют прямые обращения к СУБД.
Можно ли открыть базу 1С через SQL Server Management Studio и править таблицы?
Технически таблицы видны, но менять данные напрямую нельзя: платформа хранит их в своей структуре, правки в обход 1С ломают целостность и лишают поддержки.
Какой объём занимает база 1С в разных СУБД?
Примерно сопоставимый. Одна и та же база в MS SQL и PostgreSQL отличается по размеру в пределах десятков процентов; сильнее влияют журналы транзакций и индексы.