Переезд базы 1С в клиент-серверный режим: СУБД, сервер, перенос и первые недели работы
Содержание
Чтобы перевести 1С с файловой базы на серверную, нужно поставить сервер
1С:Предприятия и СУБД (PostgreSQL или MS SQL), создать в кластере пустую базу и загрузить в неё выгрузку .dt из файловой базы. Выгрузку делают в Конфигураторе: Администрирование → Выгрузить информационную базу, загрузку — там же, командой Загрузить информационную базу. Сам перенос данных занимает от нескольких минут до пары часов, основная работа — подготовка сервера.
Файловый вариант проще: папка с файлом 1Cv8.1CD, общий доступ, никаких служб. Клиент-серверный сложнее в установке, но держит больше пользователей, не портит базу при обрыве сети и выполняет регламентные задания на сервере, а не в сеансе бухгалтера. Порядок переезда общий для платформы 8.3 и любой типовой конфигурации: Бухгалтерии, ЗУП, УТ. Сервер может работать на Windows Server 2016 и новее или на Linux.
Файловая или серверная база: признаки, что пора переезжать
Число пользователей само по себе не повод. Переезд нужен, когда файловый режим начинает мешать работе.
- 🐢 Тормоза при одновременной работе. Один проводит документы, остальные ждут: файловая база блокирует данные крупнее, чем серверная.
- 💥 Повреждения базы. Обрыв сети или зависший клиент на сетевой папке — частая причина битого
1Cv8.1CD. - ⏰ Регламентные задания. В файловом режиме обмены, загрузка курсов и почта выполняются только пока кто-то сидит в базе. На сервере они работают круглосуточно.
- 📈 Рост базы. Файл в десятки гигабайт медленно копируется, тестирование и исправление идёт часами.
- 🌐 Удалённая работа. Тонкий клиент к серверу через интернет или веб-публикацию работает заметно бодрее, чем доступ к сетевой папке через VPN.
| Критерий | Файловая база | Клиент-серверная база |
|---|---|---|
| Что нужно установить | Только платформа на клиентах | Сервер 1С + СУБД + клиенты |
| Одновременная работа | Подходит для небольшой группы | Десятки и сотни сеансов |
| Регламентные задания | Только при открытом сеансе | Выполняет сервер |
| Резервное копирование | Копия файла или .dt | Средства СУБД + .dt |
| Лицензии | Клиентские | Клиентские + лицензия на сервер |
| Администрирование | Почти не нужно | Нужен человек, который следит за сервером |
Если тормоза есть, а пользователей трое, сначала проверьте диск и сеть. Перенос файла 1Cv8.1CD на SSD сервера и подключение по быстрой локальной сети иногда решают проблему без смены режима.
Какую СУБД выбрать для серверной 1С
Платформа 8.3 работает с четырьмя СУБД: PostgreSQL, Microsoft SQL Server, IBM Db2 и Oracle Database. На практике выбор почти всегда между первыми двумя.
| СУБД | Плюсы | Минусы | Кому подходит |
|---|---|---|---|
| PostgreSQL | Бесплатная, работает на Windows и Linux, есть сборки с патчами под 1С | Нужна ручная настройка postgresql.conf | Большинству малых и средних компаний |
| MS SQL Server | Привычные инструменты, удобный мастер обслуживания | Лицензия платная, доступность для новых покупок в России ограничена | Тем, у кого он уже куплен |
| IBM Db2 | Годится для очень крупных баз | Редкие специалисты | Крупным внедрениям |
| Oracle Database | Масштабируется | Дорогая, мало опыта у 1С-ников | Почти не встречается в малом бизнесе |
Для PostgreSQL берите сборку, адаптированную под 1С: её выпускает сама фирма 1С, есть также Postgres Pro. Ванильный PostgreSQL без патчей может работать медленнее на типовых запросах платформы.
Бесплатная редакция MS SQL Express ограничена по размеру базы и используемой памяти. Для рабочей 1С она годится разве что на тест.
Подготовка сервера: железо, ОС, лицензии
Железо
Ориентиры для одной-двух баз бухгалтерии и зарплаты, когда сервер 1С и СУБД стоят на одной машине:
| Пользователей | Процессор | Память | Диск |
|---|---|---|---|
| до 10 | 4 ядра | 16 ГБ | SSD |
| 10–30 | 6–8 ядер | 32 ГБ | NVMe SSD |
| 30–60 | 8–16 ядер | 64 ГБ | NVMe, отдельный диск под журналы СУБД |
Важна частота ядра: 1С выполняет многие операции в один поток, поэтому 8 быстрых ядер полезнее 24 медленных. Память почти целиком уходит СУБД под кэш данных.
Операционная система
- 🪟 Windows Server 2016, 2019, 2022 — привычно, если в компании нет специалиста по Linux.
- 🐧 Linux (Ubuntu, Debian, РЕД ОС, Astra Linux и другие) — нет платы за ОС, PostgreSQL на нём чувствует себя лучше.
Лицензии
Клиентские лицензии остаются те же: они нужны на каждый одновременный сеанс. Дополнительно покупается лицензия на сервер 1С:Предприятия: ПРОФ или КОРП. Ориентировочно ПРОФ стоит порядка 90–100 тыс. руб., КОРП в несколько раз дороже и нужен для крупных систем с кластерами. Для небольших групп существует продукт «1С:Сервер мини» — он дешевле, но ограничен по числу сеансов.
Без лицензии на сервер служба запустится, но клиенты не смогут работать с базой. Ключ или программную лицензию активируйте до дня переезда.
Перенос файловой базы 1С на сервер: пошаговая инструкция
Шаг 1. Установите сервер 1С
- Запустите установщик платформы той же версии, что стоит у пользователей.
- Отметьте компоненты «Сервер 1С:Предприятия 8», «Модули расширения веб-сервера» (если планируете веб-публикацию) и «Администрирование сервера 1С:Предприятия».
- Выберите установку сервера как службы Windows и пользователя, от имени которого служба будет работать. По умолчанию установщик создаёт
USR1CV8. - После установки зарегистрируйте консоль: в меню «Пуск» есть ярлык «Регистрация утилиты администрирования серверов». Он регистрирует
radmin.dllтой версии, которую вы поставили.
Проверьте, что в службах Windows запущена служба «Агент сервера 1С:Предприятия 8.3». На Linux служба называется по версии платформы, например srv1cv8-8.3.xx.xxxx.
Шаг 2. Установите и настройте СУБД
Для PostgreSQL задайте пароль пользователя postgres или создайте отдельного пользователя для 1С с правом создавать базы. Для MS SQL создайте логин SQL Server с ролью dbcreator и включите смешанную проверку подлинности.
Ставьте сервер 1С и СУБД на одну машину, если нет причин разносить. Сетевой обмен между ними — лишняя задержка на каждом запросе.
Шаг 3. Подготовьте файловую базу
- Предупредите пользователей и выгоните всех из базы.
- Откройте файловую базу
в Конфигураторе и запустите
Администрирование → Тестирование и исправлениес проверкой логической и ссылочной целостности. Ошибки, которые файловый режим терпел, при загрузке в СУБД могут остановить процесс. - Выполните
Администрирование → Выгрузить информационную базуи сохраните файл.dtна диск сервера.
Не удаляйте и не меняйте исходную файловую базу до конца проверки. Это ваш путь отката.
Шаг 4. Создайте серверную базу
Проще всего — прямо из окна запуска 1С на сервере или любом клиенте:
- Нажмите «Добавить» → «Создание новой информационной базы» → «Создание информационной базы без конфигурации».
- Тип расположения — «На сервере 1С:Предприятия».
- Заполните параметры:
- Кластер серверов — имя компьютера с сервером 1С;
- Имя информационной базы в кластере — например,
buh; - Тип СУБД — PostgreSQL или MS SQL Server;
- Сервер баз данных — имя сервера СУБД (
localhost, если на той же машине); - Имя базы данных — обычно совпадает с именем в кластере;
- пользователь и пароль СУБД из шага 2;
- Смещение дат — для MS SQL ставьте 2000;
- флажки «Разрешить выдачу лицензий сервером 1С:Предприятия» и «Создать базу данных в случае ее отсутствия»;
- флажок «Установить блокировку регламентных заданий» — оставьте включённым до переключения.
- Нажмите «Далее» и «Готово». База появится в кластере и в СУБД.
Шаг 5. Загрузите данные
- Откройте новую серверную базу в Конфигураторе.
- Выберите
Администрирование → Загрузить информационную базуи укажите файл.dt. - Дождитесь окончания. Конфигуратор предложит перезапуститься — соглашайтесь.
Шаг 6. Проверьте и переключите пользователей
Откройте базу в режиме 1С:Предприятие, сформируйте оборотно-сальдовую ведомость за последний месяц и сверьте с файловой копией. Проверьте вход пользователей и печать. Затем снимите блокировку регламентных заданий: в консоли кластера откройте свойства базы и уберите флажок «Блокировка регламентных заданий включена».
Строка подключения к серверной базе в списке баз выглядит так: сервер — имя компьютера, база — имя в кластере. В файле списка баз ibases.v8i она записана как:
Connect=Srvr="srv1c";Ref="buh";
Если пользователей много, разошлите им общий файл списка баз через сетевую папку — его подключают в настройках окна запуска.
Как ускорить серверную базу 1С после переезда
Серверная база на настройках по умолчанию может работать не быстрее файловой. Три вещи дают основной эффект.
Память СУБД
- PostgreSQL:
shared_buffers— около 25% памяти сервера,effective_cache_size— 50–75%. Значениеwork_memне завышайте: оно выделяется на каждую операцию сортировки, а не на соединение. - MS SQL: обязательно ограничьте «Максимальный объём памяти сервера», оставив операционной системе и серверу 1С 4–8 ГБ. По умолчанию SQL Server забирает всю память, и рабочие процессы 1С начинают выгружаться на диск.
Модель восстановления и журналы
Для MS SQL выберите модель восстановления «Простая», если не настраиваете резервное копирование
журналов транзакций. В «Полной» модели без бэкапов журнала файл .ldf растёт, пока не займёт диск.
Регулярная статистика
Платформа строит планы запросов по статистике СУБД. Устаревшая статистика — частая причина внезапных тормозов спустя месяц после переезда. Для PostgreSQL следите, чтобы работал autovacuum, и раз в неделю делайте VACUUM ANALYZE. Для MS SQL настройте план обслуживания: ежедневное обновление статистики, еженедельное перестроение индексов.
Если тормоза сохраняются, посмотрите в консоли кластера на количество сеансов и рабочих процессов. Ограничения по памяти рабочих процессов задаются в свойствах рабочего сервера.
Типичные ошибки при переводе с файловой базы на серверную
Отдельная организационная ошибка — оставить обе базы живыми. Бухгалтер по привычке открывает старую файловую, а регламентные задания обмена с банком или сайтом работают в обеих. В итоге документы задваиваются. После переключения старую базу сразу убирайте из списков пользователей.
Обслуживание серверной 1С: обновления и резервные копии
Обновление конфигурации
Конфигурацию обновляют так же, как в файловом режиме, через Конфигуратор или автоматически из режима 1С:Предприятие. Для обновления структуры нужен монопольный доступ. Завершить сеансы можно двумя способами:
- в самой базе — через блокировку работы пользователей в разделе
Администрирование → Обслуживание; - в консоли кластера — в свойствах базы включить блокировку начала сеансов и удалить активные сеансы.
Удаление сеансов в консоли обрывает работу пользователей без сохранения. Делайте это вне рабочего времени и после предупреждения.
Обновление платформы
Сервер и все клиенты должны работать на одной версии платформы. Порядок такой: остановить службу агента сервера, установить новую версию, запустить службу, затем обновить клиентов. Остановка службы прерывает все сеансы, поэтому планируйте её на вечер.
Резервные копии
Выгрузка .dt остаётся полезной, но основной бэкап в клиент-серверном режиме делают средствами СУБД: pg_dump для PostgreSQL или задание резервного копирования в MS SQL. Это быстрее, не требует выгонять пользователей и не зависит от того, открыта ли база в Конфигураторе.
"C:\Program Files\PostgreSQL\15\bin\pg_dump.exe" -U postgres -Fc -f "D:\backup\buh.dump" buh
Путь к pg_dump.exe подставьте по своей версии PostgreSQL. Хотя бы раз в квартал разворачивайте копию на тестовую базу: нерабочий бэкап обнаруживают обычно в день аварии.
Частые вопросы о переходе на клиент-серверный вариант
Можно ли вернуться с серверной базы обратно на файловую?
.dt, создайте пустую файловую и загрузите выгрузку. Данные и пользователи перенесутся.Нужно ли покупать новые клиентские лицензии при переезде?
Можно ли держать сервер 1С на компьютере одного из бухгалтеров?
Перенесутся ли пароли пользователей 1С?
.dt.