Переезд файловой базы 1С в клиент-серверный режим: от выгрузки .dt до первого входа пользователей
Содержание
Чтобы перенести базу 1С на сервер, выгрузите файловую базу
в файл .dt через Конфигуратор (Администрирование → Выгрузить информационную базу), создайте пустую базу в кластере сервера 1С с СУБД MS SQL или PostgreSQL и загрузите в неё этот файл (Администрирование → Загрузить информационную базу). Всё: данные, конфигурация, пользователи и их пароли переезжают одним файлом.
Частое заблуждение — что достаточно скопировать файл 1Cv8.1CD на сервер и положить рядом с SQL. Так получится всего лишь файловая база на другом компьютере, а не клиент-серверная. Сервер 1С с SQL-базой хранит данные в таблицах СУБД, и попасть туда они могут только через загрузку .dt или через создание базы штатными средствами платформы.
Инструкция написана для платформы 8.3 (релизы 8.3.2x) и Windows Server 2016 и новее. Порядок одинаков для любой типовой конфигурации: БП 3.0, ЗУП 3.1, УТ 11, ERP — переносится вся база целиком.
Подготовка: сервер 1С, СУБД, лицензии и порты
Перед переносом на сервере должны работать три компонента. Без любого из них база не создастся.
| Компонент | Что нужно | Как проверить |
|---|---|---|
| Сервер 1С:Предприятия | Установлен как служба, та же версия платформы, что у клиентов | Служба «Агент сервера 1С:Предприятия 8.3» в состоянии «Выполняется» |
| СУБД | MS SQL Server или PostgreSQL в сборке для 1С | Подключение к СУБД из её консоли под учётной записью для 1С |
| Лицензия сервера | Программная или аппаратная лицензия на сервер 1С | Без неё сервер не выдаст сеансы |
🔹 Версия платформы. Номер версии на сервере и на всех клиентских компьютерах должен совпадать до последней цифры, например 8.3.25.1374 и там, и там. При расхождении клиент не подключится к кластеру.
🔹 СУБД. Для MS SQL заведите отдельный SQL-логин для 1С с ролью dbcreator (или sysadmin, если базы будут создаваться и удаляться часто). Для PostgreSQL ставьте сборку, адаптированную под 1С: её распространяет фирма 1С вместе с платформой и Postgres Professional. Обычный PostgreSQL из репозитория дистрибутива без этих доработок 1С не поддерживает.
🔹 Лицензии. Серверу нужна своя серверная лицензия. Клиентские лицензии остаются те же: их можно оставить на рабочих местах или перенести на сервер, тогда сервер будет раздавать их всем подключающимся.
🔹 Порты. Клиент сначала обращается к агенту сервера (порт 1540), затем к менеджеру кластера (1541) и к рабочим процессам. Диапазон портов рабочих процессов по умолчанию 1560–1591, он задаётся в свойствах рабочего сервера. Откройте эти порты во входящих правилах брандмауэра Windows на сервере 1С. Если СУБД стоит на отдельной машине, на ней откройте 1433 для MS SQL или 5432 для PostgreSQL.
Если оснастка «Администрирование серверов 1С Предприятия» не открывается или пишет об ошибке компонента, перерегистрируйте библиотеку консоли из командной строки от имени администратора: regsvr32 "C:\Program Files\1cv8\8.3.25.1374\bin\radmin.dll". Номер версии в пути подставьте свой.
Шаг 1. Выгрузка файловой базы в файл .dt
Выгрузку делают из Конфигуратора исходной файловой базы.
- Попросите всех пользователей выйти из базы. Если люди продолжат работать, документы, внесённые после выгрузки, на сервер не попадут.
- Запустите базу в режиме Конфигуратор под администратором.
- Если база давно не проверялась, сначала выполните
Администрирование → Тестирование и исправлениес галкой на проверке логической целостности. Ошибки, которые прошли в файловом режиме, при загрузке в SQL нередко ломают процесс на середине. - Откройте
Администрирование → Выгрузить информационную базу. - Укажите путь и имя файла, например
D:\Перенос\buh_2026_10.dt, и нажмите «Сохранить». - Дождитесь сообщения о завершении выгрузки.
Файл .dt сжат, обычно он в несколько раз меньше файла 1Cv8.1CD. База на 20 ГБ часто даёт .dt размером 3–5 ГБ.
Для больших баз удобнее пакетный режим, без открытия окон:
"C:\Program Files\1cv8\8.3.25.1374\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh" /N "Администратор" /P "пароль" /DumpIB "D:\Перенос\buh.dt" /Out "D:\Перенос\dump.log"
После выгрузки проверьте лог: там должна быть строка об успешном завершении.
Не удаляйте и не переименовывайте исходную файловую базу до тех пор, пока не убедитесь, что серверная работает. Это ваш путь отката.
Шаг 2. Создание пустой базы в кластере сервера 1С
Новую базу можно создать двумя способами. Результат одинаковый.
Через консоль администрирования кластера
- Откройте оснастку «Администрирование серверов 1С Предприятия».
- Раскройте
Центральные серверы 1С:Предприятия → <имя сервера> → Кластеры → <кластер> → Информационные базы. - Правой кнопкой по узлу «Информационные базы» —
Создать → Информационная база. - Заполните поля формы:
| Поле | Что вписать |
|---|---|
| Имя | Имя базы в кластере, латиницей без пробелов: buh |
| Сервер баз данных | Имя или адрес сервера СУБД; для именованного экземпляра MS SQL — SQLSRV\INST1 |
| Тип СУБД | MSSQLServer или PostgreSQL |
| База данных | Имя базы в СУБД, обычно то же: buh |
| Пользователь и пароль сервера БД | SQL-логин из подготовительного этапа |
| Смещение дат | Для MS SQL — 2000, для PostgreSQL — 0 |
| Разрешить выдачу лицензий сервером 1С:Предприятия | «Да», если клиентские лицензии лежат на сервере |
| Создать базу данных в случае её отсутствия | Включить |
| Установить блокировку регламентных заданий | Включить на время переноса |
- Нажмите «ОК». В списке появится база, а в СУБД — пустая база данных.
Через окно запуска 1С на рабочем месте
- В окне запуска нажмите «Добавить».
- Выберите «Создание новой информационной базы», затем вариант создания базы без конфигурации — для загрузки выгруженной информационной базы.
- На шаге выбора расположения отметьте «На сервере 1С:Предприятия» и заполните те же поля: кластер серверов , имя базы в кластере, сервер БД, тип СУБД, учётные данные.
Смещение дат задаётся только при создании базы, поменять его потом нельзя. Для MS SQL ставьте 2000, иначе часть дат в отчётах и запросах будет вести себя некорректно.
Шаг 3. Загрузка .dt и проверка перенесённой базы
- Откройте созданную серверную базу в режиме Конфигуратор. Она пустая, поэтому пароль не спросит.
- Выберите
Администрирование → Загрузить информационную базу, укажите файл.dt. - Подтвердите предупреждение: данные пустой базы будут заменены.
- Дождитесь окончания. Загрузка идёт дольше выгрузки: база на 20 ГБ на средней конфигурации сервера загружается от 30 минут до пары часов.
- После загрузки Конфигуратор предложит перезапуститься. Согласитесь — теперь вход по пользователям и паролям из файловой базы.
Пакетный вариант загрузки:
"C:\Program Files\1cv8\8.3.25.1374\bin\1cv8.exe" DESIGNER /S "srv1c\buh" /RestoreIB "D:\Перенос\buh.dt" /Out "D:\Перенос\restore.log"
Загрузка .dt требует монопольного доступа к базе, поэтому никто, кроме вас, к новой базе в это время подключаться не должен.
Что проверить после загрузки
- 📊 Сформируйте оборотно-сальдовую ведомость за последний закрытый период в обеих базах и сравните итоги.
- 📄 Откройте и перепроведите один свежий документ — проверьте, что движения формируются.
- 🖨 Выведите на печать пару форм, особенно внешние печатные формы и обработки: они хранятся в базе и переезжают вместе с ней.
- 🔁 Проверьте узлы обмена: если база обменивается с другими базами, пути к каталогам обмена и учётные данные могут понадобиться другие, ведь теперь обмен выполняется от имени службы сервера 1С.
Когда сверка сошлась, снимите в свойствах базы в консоли кластера блокировку регламентных заданий. Иначе обмены, загрузка курсов валют и другие задания по расписанию выполняться не будут.
Пользователи и права доступа после переноса на сервер
Список пользователей 1С, их роли и пароли хранятся внутри базы и переезжают в .dt целиком. Заводить людей заново не нужно.
Что перенастраивается отдельно:
- 👤 Аутентификация операционной системы. Если пользователи входили под доменной учётной записью, проверьте, что в карточке пользователя указано имя в формате
\\DOMAIN\user. На сервере вход через ОС работает только при корректной доменной учётке. - 🔐 Учётная запись службы сервера 1С. Служба работает от пользователя, указанного при установке, по умолчанию
USR1CV8. Ему нужен полный доступ к каталогу кластера (по умолчаниюsrvinfoв каталоге установки сервера) и права на сетевые папки, куда база пишет файлы обмена или выгрузки. - 🛡 Администратор кластера. Пока у кластера нет администраторов, любой, кто откроет консоль, сможет удалить базу. Заведите администратора кластера в узле «Администраторы» кластера.
Подключение пользователей к серверной базе
На каждом рабочем месте добавьте базу: «Добавить → Добавление в список существующей информационной базы → На сервере 1С:Предприятия». Укажите:
- кластер серверов — имя сервера 1С, например
srv1c(если порт менеджера кластера нестандартный —srv1c:2541); - имя информационной базы в кластере —
buh.
Строка подключения в итоге выглядит так: Srvr="srv1c";Ref="buh";. Её можно разослать в файле .v8i — пользователи откроют его, и база появится в списке.
Старую файловую базу уберите из списка у пользователей. Если оставить обе, кто-нибудь неизбежно продолжит вводить документы в файловую.
Ускорение работы после переезда на сервер
Сразу после загрузки серверная база может работать медленнее файловой. Это нормально: СУБД ещё не собрала статистику и не прогрела кэш. Несколько настроек решают проблему.
MS SQL Server
- Ограничьте память. В свойствах сервера SQL задайте
Maximum server memory. Если 1С и SQL на одной машине с 32 ГБ, оставьте SQL примерно 20–22 ГБ, остальное — операционной системе и рабочим процессам 1С. - Модель восстановления. Если вы не делаете резервные копии журнала транзакций, переключите базу в
Simple. ПриFullбез бэкапов журнала файл.ldfрастёт до тех пор, пока не займёт весь диск. - План обслуживания. Настройте ежедневное обновление статистики, а после него — очистку процедурного кэша
DBCC FREEPROCCACHE. Раз в неделю добавьте перестроение индексов. Запускайте ночью: на время перестроения запросы замедляются.
PostgreSQL
- Сразу после загрузки
.dtвыполните сбор статистики:
VACUUM ANALYZE;
- Настройте основные параметры в
postgresql.conf:shared_buffers— примерно четверть оперативной памяти,effective_cache_size— около половины–трёх четвертей. После правок перезапустите службу PostgreSQL в нерабочее время: все сеансы 1С при этом оборвутся. - Включите регулярный
autovacuum(обычно он включён по умолчанию) и проверьте, что он не отключён в конфигурации.
На стороне 1С
- 💾 Храните базу СУБД на SSD — это даёт больше, чем любые настройки.
- 🧹 Если после переноса у пользователей странно ведут себя формы, очистите локальный кэш клиента: запустите 1С с ключом
/ClearCacheили удалите каталог кэша при закрытой программе.
Ошибки при переносе базы 1С на сервер и что с ними делать
Ещё одна неочевидная ошибка — нехватка места. Во время загрузки .dt СУБД пишет журнал транзакций, и на диске нужно свободного места примерно в 2–3 раза больше объёма базы. На MS SQL дополнительно растёт tempdb.
Если загрузка зависла и вы решили перезапустить службу сервера 1С, помните: оборвутся все сеансы во всех базах кластера. Делайте это, только когда в других базах никто не работает.