Рано или поздно любая развивающаяся информационная система на базе «1С:Предприятие» перерастает ограничения 32-битной архитектуры. Главным лимитом x32-платформы является жесткое ограничение оперативной памяти — рабочий процесс rphost не может использовать более 4 ГБ адресного пространства. Это приводит к регулярным ошибкам нехватки памяти, падению рабочих процессов и нестабильной работе пользователей. Переход на 64-битный сервер полностью снимает эти ограничения, позволяя системе использовать весь объем доступной оперативной памяти сервера.
В этой статье мы подробно разберем, как правильно осуществить миграцию с 32-разрядного на 64-разрядный сервер 1С, заменить аппаратный USB-ключ защиты и избежать распространенных «подводных камней», связанных с системными правами, совместимостью веб-сервисов и использованием сторонних 32-битных COM-компонент.
Прежде чем приступать к масштабным работам по деинсталляции старого ПО, проанализируем специфику имеющихся у нас лицензий. Нам необходимо помнить следующее:
ENSR8. Новый 64-битный ключ поставляется в темно-зеленом корпусе с маркировкой EN8SA (или относится к современной серии Sentinel HL Max).EN8SA) обладает полной обратной совместимостью. Он без проблем поддерживает работу как 64-битного, так и 32-битного сервера 1С.ORGL8) абсолютно инвариантны к разрядности сервера. Их менять или как-то перенастраивать в процессе миграции сервера не требуется.Применим отличный практический совет: выполним проверку нового оборудования до начала переустановки платформы. Извлечем старый 32-битный ключ из USB-порта сервера и установим новый 64-битный ключ. Запустим существующий 32-битный сервер 1С и убедимся, что пользователи успешно авторизуются в базах данных. Если все работает стабильно, это гарантирует нам исправность нового физического USB-накопителя, и мы сможем спокойно двигаться дальше.
Наиболее ценной информацией на сервере 1С (помимо самой базы данных, которая хранится на SQL-сервере) являются настройки кластера, списки информационных баз и журнал регистрации. Все эти данные по умолчанию хранятся в каталоге srvinfo.
Обратим внимание, что пути к этой папке по умолчанию различаются в зависимости от разрядности устанавливаемой платформы:
C:\Program Files (x86)\1cv8\srvinfoC:\Program Files\1cv8\srvinfoДля того чтобы не потерять список баз данных и историю действий пользователей (журнал регистрации), выполним следующие действия по шагам:
services.msc). Служба обычно называется «Агент сервера 1С:Предприятия 8.3».srvinfo из каталога Program Files (x86) в безопасное временное место или сразу перенесем ее в будущую директорию 64-битной версии.D:\1C_srvinfo. Это защитит наши настройки от случайной перезаписи или удаления при последующих обновлениях платформы, а также существенно упростит администрирование.Разберем процесс установки новой платформы. Удалять старый x32-сервер сразу не обязательно — достаточно держать его службу в отключенном состоянии (тип запуска «Отключена»), однако для чистоты системы его рекомендуется деинсталлировать после завершения всех работ.
Запустим установщик 64-разрядной платформы 1С:Предприятие. Обязательно отметим компоненты «Cервер 1С:Предприятия» и «Администрирование сервера 1С:Предприятия». В процессе установки система предложит создать пользователя USR1CV8. Укажем надежный пароль или выберем существующую учетную запись, под которой работала предыдущая служба.
После завершения установки служба нового сервера будет создана, но запускать ее сразу не нужно. Сначала необходимо скорректировать параметры запуска службы, чтобы она подхватила наши перенесенные данные:
regedit).HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent (x86-64).ImagePath. Он содержит строку запуска службы.-d. По умолчанию там прописан стандартный путь в Program Files. Укажем наш новый путь к перенесенной папке настроек. Например, итоговая строка должна выглядеть так:
"C:\Program Files\1cv8\8.3.X.YYYY\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "D:\1C_srvinfo"
D:\1C_srvinfo на вкладку «Безопасность» и предоставим пользователю USR1CV8 (или тому системному пользователю, от имени которого запускается служба сервера 1С) полные права (Full Control). Если этого не сделать, служба завершится с ошибкой при запуске или базы данных будут недоступны.Теперь запустим службу «Агент сервера 1С:Предприятия 8.3 (x86-64)» и проверим ее работоспособность через консоль администрирования или клиентское подключение.
Один из самых главных «подводных камней» при переходе на 64-битный сервер 1С — это невозможность прямого обращения 64-битного рабочего процесса rphost к внешним 32-битным библиотекам и COM-объектам. Например, часто перестают работать компоненты печати штрихкодов (barcode.ocx), вызовы системных скриптов через MSScriptControl или интеграция со сторонним ПО через COM.
Выясним, как решить проблему с наиболее популярным объектом MSScriptControl.ScriptControl, у которого нет официальной 64-битной версии:
comexp.msc).1C_MSScriptControl, и установим переключатель «Серверное приложение» (это заставит систему запускать компоненты в процессе dllhost.exe).msscript.ocx, которая обычно лежит в каталоге C:\Windows\SysWOW64).После проведения этой настройки 64-битный рабочий процесс сервера 1С сможет успешно вызывать методы MSScriptControl, делегируя выполнение этой задачи изолированному 32-битному окружению.
Также не забудем зарегистрировать 64-битную версию коннектора для внешнего соединения 1С (COM-соединение). Запустим командную строку от имени администратора и выполним следующую команду:
regsvr32 "C:\Program Files\1cv8\8.3.X.YYYY\bin\comcntr.dll"
Если на вашем сервере выполняются регламентные задания по формированию и выгрузке отчетов в форматы MS Excel или MS Word посредством COM-объектов, то на сервере обязательно должен быть установлен именно 64-разрядный пакет Microsoft Office. Использование 32-битного Office на сервере приведет к ошибкам в фоновых заданиях.
Хотя при обновлении платформы драйверы защиты часто продолжают работать в штатном режиме, при переходе на современную 64-битную операционную систему семейства Windows Server (например, Server 2019 или 2022) старые версии драйверов HASP могут работать нестабильно, вплоть до вызова критических ошибок операционной системы (BSOD).
Рекомендуем выполнить обновление драйверов безопасности по следующему алгоритму:
haspdinst.exe -purge
haspdinst.exe -i
Если ваши пользователи работают с информационными базами через веб-браузер или тонкий клиент, либо если в системе настроен обмен данными через HTTP/Web-сервисы, вам потребуется обновить публикацию баз на веб-сервере (например, IIS или Apache).
Помните, что разрядность веб-сервера должна строго соответствовать разрядности используемых модулей расширения 1С (файлов wsap24.dll для Apache). Если ранее у вас был установлен 32-битный Apache, выполним следующие действия:
Мы подробно разобрали все этапы перехода с 32-битной архитектуры сервера 1С на производительную 64-битную версию. Своевременное резервное копирование папки srvinfo, настройка прав доступа для системного пользователя, перенос COM-компонентов в службу COM+ и своевременное обновление драйверов защиты гарантируют плавную миграцию без простоя бизнес-процессов компании. Теперь ваш сервер 1С готов к обработке больших объемов данных и стабильной работе под высокой нагрузкой.