Как перенести файловую базу 1С на сервер 1С:Предприятия и СУБД
Содержание
Переход 1С с файлового на серверный режим делается через выгрузку базы в файл .dt и загрузку его в новую базу, созданную в кластере сервера 1С:Предприятия. Конфигурацию переписывать не нужно: та же Бухгалтерия или ЗУП работает в обоих вариантах без доработок.
Частое заблуждение — что достаточно положить файл 1Cv8.1CD на мощный сервер и открыть его по сети. Это по-прежнему файловый режим, только на другом диске. Клиент-серверный вариант — это две новые службы: сервер 1С и СУБД (PostgreSQL или Microsoft SQL Server). Данные живут в СУБД, а пользователи подключаются к серверу 1С, а не к папке.
Когда файловой базы перестаёт хватать
Файловый вариант хорош для 1–5 человек в одной сети. Дальше начинаются признаки, которые не лечатся ни SSD, ни новой сетевой картой:
- 🐢 документы проводятся по 20–60 секунд, когда работают сразу несколько человек;
- 🔒 ошибки блокировки при одновременном проведении: в файловой базе блокируются таблицы целиком, а не отдельные записи;
- 💥 после обрыва сети или «зависшего» компьютера база требует тестирования и исправления;
- ⏰ регламентные задания (обмен с банком, загрузка курсов) выполняются только пока открыт хотя бы один сеанс пользователя;
- 🌐 удалённые сотрудники работают через общую папку по VPN — медленно и рискованно для целостности файла.
В клиент-серверном варианте блокировки управляемые, на уровне записей. Тяжёлые операции выполняет сервер, а не компьютер бухгалтера. Регламентные задания работают сами, даже ночью.
Если в базе работают двое, а тормозит только закрытие месяца, сначала проверьте диск и антивирус. Серверный вариант оправдан, когда пользователей больше 5–7 или база выросла за 10–15 ГБ.
Что подготовить до перехода: железо, лицензии, выбор СУБД
Сервер
Сервер 1С и СУБД можно поставить на одну машину — для 10–30 пользователей это нормальная схема. Ориентировочная конфигурация:
| Пользователей | Процессор | Память | Диск |
|---|---|---|---|
| до 15 | 4 ядра | 16 ГБ | SSD от 256 ГБ |
| 15–40 | 8 ядер | 32 ГБ | NVMe, отдельный диск под СУБД |
| 40+ | 12+ ядер | 64 ГБ и больше | NVMe, разнести СУБД и сервер 1С |
Операционная система — Windows Server 2016 и новее или Linux. Ниже шаги описаны для Windows, как самого частого случая в небольших компаниях.
Лицензии
Клиентские лицензии, которые у вас уже есть, продолжают работать. Дополнительно нужна лицензия на сервер 1С:Предприятия — ПРОФ или КОРП. Для одной организации с обычной нагрузкой хватает ПРОФ.
Программные лицензии привязаны к оборудованию. Если клиентские лицензии сейчас активированы на компьютерах пользователей, решите заранее, оставить их там или выдавать с сервера. Во втором случае их активируют на сервере, а в свойствах базы включают выдачу лицензий сервером.
PostgreSQL или Microsoft SQL Server
| Критерий | PostgreSQL | MS SQL Server |
|---|---|---|
| Стоимость | бесплатно | платная лицензия; Express бесплатна, но ограничена 10 ГБ на базу |
| ОС | Windows и Linux | в основном Windows |
| Требования | только сборка с патчами для 1С | стандартный дистрибутив |
| Настройка | нужно подкрутить postgresql.conf под объём памяти | работает почти «из коробки» |
Обычный PostgreSQL из репозитория не подойдёт — 1С требует адаптированную сборку. Её распространяют фирма 1С и компания Postgres Professional. Express-редакцию SQL Server берите только для пробы: база бухгалтерии за несколько лет легко перерастает лимит 10 ГБ.
Установка сервера 1С и СУБД
Шаг 1. СУБД
Для MS SQL Server при установке выберите компонент «Службы ядра СУБД», режим проверки подлинности — смешанный, задайте пароль для sa или создайте отдельный логин. Этому логину нужна роль dbcreator, чтобы 1С могла сама создать базу.
Для PostgreSQL установите сборку для 1С, задайте пароль пользователя postgres и проверьте, что служба запущена. Если СУБД и сервер 1С стоят на разных машинах, в pg_hba.conf разрешите подключение с адреса сервера 1С.
Не выделяйте СУБД всю память. На общей машине оставьте серверу 1С и системе не меньше трети ОЗУ: в SQL Server это параметр максимальной памяти сервера, в PostgreSQL — shared_buffers и смежные настройки.
Шаг 2. Сервер 1С:Предприятия
Запустите установщик технологической платформы той же версии, что у клиентов. В списке компонентов отметьте:
- «Сервер 1С:Предприятия 8».
- «Администрирование сервера 1С:Предприятия» — это консоль управления.
- «1С:Предприятие 8» (тонкий и толстый клиент) — пригодится для загрузки базы прямо на сервере.
На шаге установки службы выберите запуск сервера как сервиса Windows. Установщик предложит создать пользователя
USR1CV8 — оставьте вариант по умолчанию или укажите доменную учётную запись. После установки служба «Агент сервера 1С:Предприятия 8.3» должна быть в состоянии «Выполняется».
Шаг 3. Консоль администрирования
Консоль — оснастка MMC «Администрирование серверов 1С Предприятия». Если она открывается пустой или с ошибкой, библиотеку нужно зарегистрировать вручную. Командная строка от имени администратора:
regsvr32 "C:\Program Files\1cv8\8.3.XX.XXXX\bin\radmin.dll"
Вместо 8.3.XX.XXXX подставьте каталог вашей версии. После обновления платформы регистрацию повторяют для новой версии — частая причина «пропавшей» консоли.
Кластер серверов и регистрация в консоли
При первом запуске службы агент сам создаёт локальный кластер на порту 1541. Остаётся добавить сервер
в консоль:
- Откройте консоль, щёлкните правой кнопкой по «Central 1C:Enterprise 8.3 servers».
- Выберите
Создать → Центральный сервер 1С:Предприятия 8.3. - Укажите сетевое имя сервера, протокол TCP и порт агента
1540. - Раскройте дерево: должны появиться «Кластеры» → «Локальный кластер» → «Информационные базы», «Рабочие серверы», «Менеджеры кластера».
Как ходят запросы: клиент обращается к агенту на 1540, затем к менеджеру кластера на 1541 и к рабочим процессам. Диапазон портов рабочих процессов задаётся в свойствах рабочего сервера, по умолчанию 1560:1591.
Порты в брандмауэре
Откройте на сервере входящие TCP-порты 1540, 1541 и 1560–1591. Порт СУБД (1433 для SQL Server, 5432 для PostgreSQL) открывать для пользователей не нужно: клиенты 1С напрямую в СУБД не ходят. Он нужен, только если СУБД стоит на отдельной машине — тогда доступ открывают для сервера 1С.
Сразу задайте администратора кластера в разделе «Администраторы» кластера. Пока список пуст, управлять кластером может любой, кто откроет консоль в вашей сети.
Перевод базы 1С из файлового режима на сервер
Сама миграция занимает от 15 минут до пары часов — в зависимости от размера базы. Пользователи в это время не работают.
Подготовить файловую базу
- Попросите всех выйти из программы. Проверьте, что никто не остался: в Конфигураторе это видно в списке активных пользователей.
- Скопируйте папку с базой целиком — это ваш откат.
- Запустите Конфигуратор и выполните
Администрирование → Тестирование и исправлениес проверкой логической и ссылочной целостности. Перенос «битой» базы перенесёт и её ошибки.
Выгрузить базу в .dt
В Конфигураторе: Администрирование → Выгрузить информационную базу. Укажите путь, например D:\migration\buh.dt. Файл .dt содержит конфигурацию, данные, пользователей и их права — всё переедет одним архивом.
Создать базу в кластере
В консоли откройте Информационные базы → Создать → Информационная база и заполните:
| Поле | Что указать |
|---|---|
| Имя | короткое имя без пробелов, например buh — по нему подключаются клиенты |
| Сервер баз данных | имя машины с СУБД; если на этой же — localhost |
| Тип СУБД | PostgreSQL или MSSQLServer |
| База данных | имя базы в СУБД, удобно совпадающее с именем выше |
| Пользователь и пароль базы данных | postgres или логин SQL Server из шага 1 |
| Смещение дат | для MS SQL Server — 2000 |
| Создать базу данных в случае её отсутствия | включить |
| Разрешить выдачу лицензий сервером | включить, если лицензии будут на сервере |
| Установить блокировку регламентных заданий | для рабочей базы выключить |
Флажок блокировки регламентных заданий нужен для тестовых копий. Иначе копия начнёт параллельно с рабочей базой загружать выписки и отправлять документы в ЭДО.
Загрузить .dt
Добавьте новую базу в список запуска: Добавить → Добавление в список существующей информационной базы → На сервере 1С:Предприятия, кластер — имя сервера, база — buh. Откройте Конфигуратор этой базы и выполните Администрирование → Загрузить информационную базу, указав файл .dt.
Загрузка .dt полностью заменяет содержимое базы, в которую грузите. Проверьте в заголовке Конфигуратора, что открыта новая серверная база, а не рабочая файловая.
После загрузки Конфигуратор предложит перезапуститься. Затем откройте базу в режиме «1С:Предприятие» под администратором и дождитесь завершения обработчиков, если программа их запустит.
Права доступа и подключение пользователей к серверной базе
Пользователи базы
Список пользователей 1С и их роли переехали вместе с .dt — заводить их заново не нужно. Если сотрудники входят по доменной учётной записи (аутентификация операционной системы), в карточке пользователя должно быть указано имя вида \\DOMAIN\user. В серверной базе эта настройка работает так же, как в файловой.
Права служебной учётной записи
Учётной записи, от имени которой работает служба (USR1CV8 или доменной):
- 📁 нужен доступ на запись к каталогу кластера
srvinfo— по умолчанию он в каталоге установки платформы; - 🔑 нужно право «Вход в качестве службы» — установщик выдаёт его сам, но групповые политики домена иногда его отбирают.
Клиенты
На каждом компьютере должна стоять платформа ровно той же версии, что сервер — до последней цифры. Иначе клиент не подключится и сообщит о несовпадении версий.
Строка подключения в списке баз выглядит так:
Srvr="srv1c";Ref="buh";
Чтобы не прописывать базу вручную на двадцати компьютерах, раздайте файл .v8i со списком баз или укажите общий список в настройках стартера через параметр CommonInfoBases в файле 1cestart.cfg.
Если клиент не подключается к серверу
Первое подключение чаще всего срывается по одной из четырёх причин:
| Симптом | Где искать |
|---|---|
| Сообщение о несовпадении версий клиента и сервера | на компьютере пользователя не установлена нужная версия платформы |
| Долгое ожидание, затем ошибка сетевого доступа | закрыты порты 1540, 1541 или 1560–1591 в брандмауэре |
| Ошибка по имени сервера, хотя по IP всё работает | клиент не разрешает имя: пропишите сервер в DNS или в файл hosts |
| Ошибка подключения к СУБД при открытии базы | неверный пароль пользователя СУБД в свойствах базы или служба СУБД остановлена |
Проверяйте по порядку: сначала версия, потом сеть, потом СУБД. Так быстрее отсекаются варианты.
Что сделать со старой файловой базой и после переезда
Самая неприятная ошибка после миграции — кто-то продолжает работать в старой файловой базе. Через неделю у вас две бухгалтерии с разными данными, и склеить их уже нельзя.
- Уберите файловую базу из списков запуска у пользователей.
- Переименуйте папку с ней, например в
buh_OLD_НЕ_ОТКРЫВАТЬ, и оставьте права только на чтение. - Через месяц спокойной работы архивируйте её и удалите с общего диска.
Сразу настройте резервное копирование
на стороне СУБД: план обслуживания в SQL Server или задание pg_dump по расписанию для PostgreSQL. Копию .dt делать тоже можно, но для неё нужен монопольный доступ, а резервную копию СУБД снимают без остановки работы.
Проверьте за первые дни:
- ✅ регламентные задания выполняются (обмен с банком, курсы валют) — без открытых сеансов;
- ✅ закрытие месяца и тяжёлые отчёты идут быстрее, чем раньше;
- ✅ на диске сервера хватает места: журналы транзакций СУБД растут, если не настроено их обслуживание.
Частые вопросы
Можно ли вернуть базу обратно в файловый режим?
.dt, создайте пустую файловую базу и загрузите файл в неё. Механизм тот же, только в обратную сторону.