Файловая база или сервер СУБД: как выбрать место для данных 1С
Содержание
Если в базе работают 1–5 человек, а объём данных — до нескольких гигабайт, храните базу 1С в файловом варианте на локальном SSD того компьютера или сервера, где запускается 1С. Если пользователей больше 10, нужны регламентные задания на сервере, обмены в фоне и устойчивость к сбоям — переходите на клиент-серверный вариант: сервер 1С:Предприятия плюс СУБД (Microsoft SQL Server или PostgreSQL).
Между этими границами решают нагрузка и деньги. Файловая база бесплатна в обслуживании, но плохо переносит одновременную запись. SQL-вариант требует лицензии сервера, отдельной машины и администратора, зато держит десятки и сотни пользователей. Решение о хранении данных 1С проще принять заранее: переезд потом займёт выходные и потребует выгрузки всей базы.
Файловая база 1С: где лежат данные и когда её хватает
В файловом варианте вся информационная база — это один файл 1Cv8.1CD в каталоге базы. Рядом платформа создаёт служебные файлы блокировок и кэша. Никакой отдельной СУБД нет: движок хранения встроен в саму платформу 1С.
Где искать каталог базы:
- Откройте окно запуска 1С и выделите базу в списке.
- Внизу окна отобразится строка вида
File="D:\Bases\Buh". Это и есть путь. - Список всех баз пользователя хранится в файле
%APPDATA%\1C\1CEStart\ibases.v8i— его удобно переносить на новый компьютер.
По умолчанию новые базы создаются в профиле пользователя, в папке Документы\InfoBase. Для рабочих баз это неудачное место: профиль чистят при переустановке системы, а резервное копирование
профилей часто не настроено. Создайте отдельный каталог на диске с данными, например D:\Bases\, и держите там все базы.
Когда файлового варианта достаточно
- 💻 один пользователь или небольшой офис до 5 человек;
- 📦 типовая конфигурация без тяжёлых обменов в течение рабочего дня;
- 🧾 база до 5–10 ГБ;
- 🔒 работа идёт на одном компьютере или через удалённый рабочий стол на одном сервере.
Сетевая папка — слабое место
Открывать файловую базу
с общей папки по сети можно, но это худший сценарий. Каждый запрос гонит данные по сети, блокировки работают через файловую систему, а обрыв связи в момент записи может повредить 1Cv8.1CD.
Если нужен доступ из нескольких мест, лучше держать базу на локальном SSD сервера и пускать людей через удалённый рабочий стол (RDP) или публиковать базу на веб-сервере. Данные тогда не путешествуют по сети целиком.
Клиент-серверный вариант на SQL: как хранятся данные
В клиент-серверном варианте участвуют три звена:
- Клиент 1С на компьютере пользователя.
- Сервер 1С:Предприятия — кластер с рабочими процессами, где выполняется бизнес-логика.
- Сервер СУБД — сами данные лежат в базе Microsoft SQL Server, PostgreSQL, IBM Db2 или Oracle Database.
Клиент подключается к агенту сервера 1С (порт 1540), тот направляет его к менеджеру кластера (1541) и рабочим процессам. Диапазон портов рабочих процессов задаётся в свойствах рабочего сервера, по умолчанию это 1560:1591. Эти порты нужно открыть в брандмауэре.
Строка подключения в окне запуска выглядит иначе, чем у файловой базы: Srvr="server1c";Ref="buh". Здесь Ref — имя базы в кластере, а не имя базы данных на SQL-сервере (они могут не совпадать).
Какую СУБД выбрать
| СУБД | Плюсы | Минусы |
|---|---|---|
| Microsoft SQL Server | зрелый инструмент, понятные планы обслуживания | платные лицензии, сложности с покупкой |
| PostgreSQL (сборка для 1С) | бесплатная, работает на Linux и Windows | нужна именно адаптированная под 1С сборка, настройка памяти вручную |
| IBM Db2, Oracle | крупные внедрения | редко встречаются в малом и среднем бизнесе |
Для нового внедрения малого и среднего бизнеса чаще всего выбирают PostgreSQL: она не требует покупки лицензий СУБД. Обычная «ванильная» PostgreSQL с 1С не работает — нужна сборка с патчами под 1С (её распространяет фирма 1С и разработчики Postgres Pro).
Лицензии
Для клиент-серверного варианта нужна лицензия на сервер 1С:Предприятия 8.3. Ориентировочно версия для 64-битной платформы стоит от 80–100 тыс. рублей, редакция КОРП — заметно дороже. Клиентские лицензии нужны в обоих вариантах, их число не зависит от способа хранения.
Сравнение: скорость, масштаб и надёжность
Файловая база на одном пользователе часто работает быстрее серверной: нет сетевых переходов между клиентом, сервером 1С и СУБД. Ситуация меняется, когда пользователей становится больше и они одновременно проводят документы.
| Критерий | Файловый вариант | Клиент-серверный (SQL) |
|---|---|---|
| Одновременных пользователей (ориентир) | до 5–10 | десятки и сотни |
| Блокировки | на уровне таблиц: одна запись тормозит других | на уровне записей, параллельная работа |
| Регламентные задания | выполняются только при открытом сеансе пользователя | выполняются сервером по расписанию |
| Объём базы | десятки ГБ — уже тяжело | сотни ГБ и больше |
| Устойчивость к сбоям | повреждение одного файла — риск для всей базы | журнал транзакций, восстановление на момент времени |
| Копирование | копия файла, только без пользователей | средства СУБД без остановки работы |
| Затраты | только клиентские лицензии | лицензия сервера 1С, сервер, администрирование |
Признаки, что файловой базе тесно
- 🐢 при проведении документа у коллеги остальные ждут «песочные часы»;
- ⏳ закрытие месяца идёт часами и прерывается ошибками блокировок;
- 🔄 обмены с сайтом или маркетплейсом не успевают за день;
- 📈 размер
1Cv8.1CDрастёт на гигабайты за квартал.
Требования к железу и дискам для хранения баз 1С
Для 1С важнее всего скорость дисков на случайных операциях и объём памяти. Частота процессора влияет на скорость одного сеанса, количество ядер — на число одновременных сеансов.
Файловый вариант
- 💾 только SSD, лучше NVMe; на HDD файловая база заметно медленнее;
- 🧠 оперативная память: от 8 ГБ на рабочую станцию, на сервер терминалов — плюс 1–2 ГБ на каждого пользователя;
- 🛡 антивирус: добавьте каталог баз и каталог кэша 1С в исключения проверки, иначе каждое чтение файла будет сканироваться.
Клиент-серверный вариант
Для небольшой инсталляции на 15–30 пользователей сервер 1С и СУБД можно держать на одной машине. Ориентир:
| Ресурс | Ориентир для 15–30 пользователей |
|---|---|
| Процессор | 8+ ядер с высокой частотой |
| Память | 32–64 ГБ: часть под кэш СУБД, часть под рабочие процессы 1С |
| Диски | NVMe; данные, журналы транзакций и временная база — по возможности на разных томах |
| Сеть | 1 Гбит/с между сервером 1С и СУБД, если они разнесены |
Для Microsoft SQL Server отдельный быстрый диск под tempdb даёт ощутимый прирост: 1С активно использует временные таблицы. Для PostgreSQL главное — задать shared_buffers, work_mem и effective_cache_size под объём памяти, а не оставлять значения по умолчанию.
RAID 5 на HDD под базу 1С — частая причина «всё тормозит». Для записи лучше RAID 1 или RAID 10 на SSD.
Резервные копии и безопасность в каждом варианте
Где бы ни лежала база, правило одно: копия должна храниться на другом физическом носителе и хотя бы одна — вне офиса. Копия на том же диске не спасёт от отказа диска или шифровальщика.
Файловая база
Два рабочих способа:
- Выгрузка в .dt. Конфигуратор →
Администрирование → Выгрузить информационную базу. Пользователи должны выйти. Получается переносимый файл, который загружается и в файловую, и в серверную базу . - Копия каталога. Скопируйте
1Cv8.1CD, когда в базе никто не работает. Копирование «на ходу» даёт файл, который может не открыться.
Копию каталога удобно делать скриптом по расписанию ночью:
@echo off
set SRC=D:\Bases\Buh
set DST=E:\Backup\Buh_%date:~-4%-%date:~3,2%-%date:~0,2%
robocopy "%SRC%" "%DST%" 1Cv8.1CD /R:2 /W:5
Перед запуском скрипта убедитесь, что пользователи вышли из базы, — например, запланируйте его на время, когда офис не работает. Формат даты в %date% зависит от региональных настроек Windows, проверьте имя папки после первого запуска.
База на SQL
Копию делают средствами СУБД, работа пользователей при этом не останавливается:
- MS SQL Server — план обслуживания: полная копия ночью, копии журнала транзакций каждые 15–60 минут при модели восстановления
FULL. - PostgreSQL —
pg_dumpдля ежедневной копии, для восстановления на момент времени — архивирование WAL.
BACKUP DATABASE [buh] TO DISK = N'E:\Backup\buh_full.bak' WITH COMPRESSION, CHECKSUM;
pg_dump -U postgres -Fc -f /backup/buh.dump buh
Раз в месяц разворачивайте копию на тестовом сервере и открывайте базу в 1С. Копия, которую ни разу не восстанавливали, — это надежда, а не резерв.
Доступ к данным
- 🔐 к каталогу файловой базы у пользователей должны быть права только на эту папку, без доступа к копиям;
- 🔐 в SQL-варианте пользователи не получают доступа к СУБД вообще: подключение к ней есть только у сервера 1С;
- 🔐 для администратора кластера 1С задайте пароль, иначе любой с консолью сможет удалить базу из кластера.
Перенос базы между файловым вариантом и SQL
Переезд в обе стороны делается через файл выгрузки .dt. Структура данных у вариантов разная, поэтому просто скопировать 1Cv8.1CD на SQL-сервер нельзя.
Из файловой базы в клиент-серверную
- В файловой базе: Конфигуратор →
Администрирование → Выгрузить информационную базу, сохраните.dt. - На сервере 1С создайте новую информационную базу через консоль администрирования кластера: укажите сервер СУБД, тип СУБД, имя базы данных и отметьте создание базы данных, если её нет.
- Добавьте новую базу в список окна запуска пользователя как базу на сервере 1С:Предприятия.
- Откройте её в Конфигураторе и выполните
Администрирование → Загрузить информационную базу, выберите.dt. - Проверьте остатки ключевых счетов или регистров в старой и новой базе, обмены и регламентные задания.
Загрузка заменяет все данные целевой базы, поэтому загружайте только в новую или заведомо ненужную базу.
Обратно, из SQL в файловую
Выгрузите .dt из серверной базы, создайте пустую файловую базу и загрузите в неё файл. Так делают копию для разработчика, для проверки обновления или для передачи базы в архив.
Загрузка большой базы в файловый вариант может завершиться ошибкой, если в одной таблице слишком много данных или мало места на диске. Освободите на диске минимум трёхкратный объём .dt.
Типовые сложности переезда
- платформа на клиенте и на сервере должна быть одной версии — номер сборки совпадает до последней цифры;
- база данных на PostgreSQL создаётся в кодировке, которую предлагает сервер 1С при создании базы, — не создавайте её заранее вручную с другими настройками;
- после переезда пропишите заново пути обменов и выгрузок: они могли указывать на локальные папки старого компьютера.
Облако и аренда 1С вместо собственного сервера
Если своего сервера и администратора нет, базы можно хранить у провайдера. Варианты:
| Вариант | Как устроено | Ориентир цены |
|---|---|---|
| 1С:Фреш и аналогичные сервисы | типовые конфигурации в браузере, обновления и копии на стороне сервиса | примерно 1–3 тыс. ₽ в месяц за пользователя |
| Аренда 1С на сервере партнёра (RDP) | ваши базы, включая доработанные, на сервере провайдера | примерно 1–2,5 тыс. ₽ в месяц за пользователя |
| Своя виртуальная машина в облаке | вы сами ставите 1С и СУБД, провайдер даёт только мощности | от нескольких тысяч ₽ в месяц за сервер + лицензии 1С |
Перед переездом в облако уточните у провайдера:
- 📍 где физически стоят серверы и как это соотносится с требованиями к хранению персональных данных;
- 💾 как часто делаются копии, сколько дней хранятся и можно ли получить свою копию
.dtпо запросу; - 🔌 поддерживаются ли доработанные конфигурации, внешние обработки и подключение торгового оборудования;
- 🚪 как забрать базу при уходе от провайдера.
Хранение персональных данных сотрудников и клиентов на серверах за пределами России требует соблюдения правил локализации, поэтому для зарплатных и кадровых баз выбирайте провайдера с российскими площадками.
Частые ошибки при выборе места для баз
- База на рабочем столе бухгалтера. Компьютер выключают, переустанавливают, на нём нет копий. Базу переносят в отдельный каталог на сервер или хотя бы на отдельный диск.
- Файловая база на NAS для 15 человек. Тормозит и рискует повреждением при сбое сети. Здесь уже нужен SQL или хотя бы сервер терминалов.
- Переход на SQL без расчёта лицензий. Про лицензию сервера 1С вспоминают после покупки железа. Заложите её в бюджет сразу.
- Копии рядом с базой. Шифровальщик или отказ RAID уничтожают и базу, и копии.
- Модель восстановления FULL без копий журнала. На MS SQL журнал транзакций растёт до заполнения диска, и база встаёт. Либо настройте копии журнала, либо переключитесь на модель
SIMPLE.
Частые вопросы
Можно ли хранить файловую базу 1С в Яндекс Диске или другом облачном хранилище?
1Cv8.1CD легко повредить. Облачное хранилище подходит только для готовых копий .dt.Сколько весит типичная база 1С?
Нужна ли отдельная лицензия на PostgreSQL?
Можно ли держать файловые и серверные базы на одном сервере?
Как проверить файловую базу на ошибки после сбоя?
1Cv8.1CD и запустите утилиту chdbfl.exe из каталога bin платформы. Она проверяет физическую целостность файла и может исправить найденные ошибки.