Переход с 32-разрядного (х32) на 64-разрядный (х64) сервер «1С:Предприятие» — это классический шаг при масштабировании информационной системы. Главная причина такого перехода заключается в технологическом ограничении 32-битной архитектуры: рабочий процесс rphost в х32 версии физически не может использовать более 4 ГБ оперативной памяти (на практике этот лимит часто составляет около 3 ГБ). При росте базы данных, увеличении числа пользователей или усложнении запросов это неизбежно приводит к критическим ошибкам нехватки памяти и аварийному завершению рабочих процессов.
В этой статье мы подробно разберем, как правильно выполнить миграцию сервера 1С на х64 архитектуру, сохраняя все настройки кластера, списки баз данных и журналы регистрации, а также проанализируем критические нюансы и типичные ошибки, с которыми можно столкнуться в процессе работы.
---
Перед тем как приступить к техническим работам, крайне важно разобраться с вопросом лицензирования. На форумах об этом часто забывают, однако лицензии на 32-битный и 64-битный сервер 1С существенно отличаются.
Если в вашей организации используется лицензия на 32-разрядный сервер (которая стоит значительно дешевле 64-разрядной), она не подойдет для запуска 64-разрядного сервера. При попытке запустить х64-сервер с х32-лицензией вы получите критическую ошибку отсутствия лицензии на запуск сервера «1С:Предприятия».
Что необходимо сделать:
---
Все настройки сервера 1С, включая список информационных баз, настройки кластера серверов, сеансов, а также журналы регистрации, хранятся в специальном каталоге srvinfo. Наша главная задача — перенести этот каталог из папки 32-разрядного сервера в папку новой 64-разрядной установки.
Выясним пути расположения каталогов по умолчанию:
c:\Program Files (x86)\1cv8\srvinfo\c:\Program Files\1cv8\srvinfo\Разберем по шагам процесс подготовки и безопасного переноса данных:
services.msc) на сервере приложений.srvinfo из каталога c:\Program Files (x86)\1cv8\ во временную безопасную директорию (например, на другой физический диск). Помните, что лишняя перестраховка при системном администрировании никогда не повредит. Если объём папки огромен из-за журналов регистрации (например, более 100 ГБ), сделайте хотя бы резервную копию конфигурационных файлов (о них ниже), а саму папку мы будем перемещать, а не копировать.---
После остановки службы и создания резервной копии можно приступать к установке новой платформы:
srvinfo в папке Program Files (x86) не удаляется автоматически, но наличие бэкапа гарантирует вашу безопасность.USR1CV8).---
Теперь рассмотрим ключевой момент переноса настроек. В каталоге srvinfo содержатся критически важные файлы:
1cv8wsrv.lst (в старых версиях или для платформы 8.2 он мог называться srvribrg.lst) — это главный файл со списком кластеров, их настроек и, самое главное, уникальным идентификатором (GUID) самого сервера. Находится непосредственно в корне папки srvinfo.1cv8.lst — файл реестра информационных баз, расположенный внутри папки конкретного кластера (по умолчанию reg_1541).Проанализируем ситуацию с переносом файлов:
Если у вас файлы журналов регистрации занимают внушительный объем (например, 137 ГБ), физическое копирование между папками Program Files (x86) и Program Files на одном системном диске может занять длительное время и потребовать много свободного места. В этом случае вместо классического копирования следует выполнить операцию «Переместить» (Move).
При перемещении файлов в рамках одного логического диска физического копирования блоков на диске не происходит — операционная система Windows просто переписывает адреса расположения файлов в файловой системе NTFS, что происходит практически мгновенно.
Переместите содержимое папки c:\Program Files (x86)\1cv8\srvinfo\ в новую папку c:\Program Files\1cv8\srvinfo\ с заменой всех существующих файлов.
Важно: Убедитесь, что перенесены абсолютно все файлы из корня старой папки srvinfo, включая конфигурационный файл 1cv8wsrv.lst. Если вы перенесете только папку кластера reg_1541, но забудете перенести файл конфигурации сервера из корня каталога, служба запустится «пустой», не сможет прочитать настройки вашего прежнего сервера и создаст новый чистый кластер без баз данных.
---
Это одна из самых частых причин, почему новая служба сервера х64 «падает» через несколько секунд после старта. При установке 64-битной платформы часто создается новый системный пользователь (например, USR1CV8), у которого по умолчанию нет прав доступа к файлам, которые были перенесены из каталога 32-битной версии.
Выполним настройку прав доступа по шагам:
c:\Program Files\1cv8\.srvinfo и выберите «Свойства».USR1CV8 или Администратор).---
После переноса файлов и настройки прав запустите службу 1С через оснастку services.msc.
Если служба запустилась, но через 15–30 секунд аварийно остановилась, выполните следующие действия по поиску неисправностей:
c:\Program Files\1cv8\srvinfo\reg_1541\ и полностью удалите каталог с именем snccntx. В этой папке хранятся данные сеансов связи, которые при смене разрядности или аварийном завершении службы могут оказаться поврежденными и блокировать корректный старт. При запуске службы этот каталог пересоздастся автоматически.C:\Program Files\1cv8\....---
После успешного запуска х64-сервера вы можете столкнуться со специфическими ошибками работы прикладных решений. Дело в том, что все фоновые задания, регламентные процедуры и любой код, исполняемый на стороне сервера, теперь выполняются в 64-битных рабочих процессах.
Если в вашем коде используются внешние 32-битные библиотеки, COM-объекты или компоненты (например, объект работы со скриптами MSScriptControl.ScriptControl, старые компоненты интеграции с внешним оборудованием, библиотеки шифрования CAPICOM), вы получите ошибку «Класс не зарегистрирован» (Class not registered).
Рассмотрим, как решить эту проблему:
Если у вас нет возможности заменить внешнюю х32-библиотеку на её х64-аналог, можно настроить запуск 32-разрядного COM-объекта в специальном изолированном окружении Windows (суррогатном процессе dllhost.exe), с которым 64-битный сервер 1С сможет взаимодействовать.
Разберем по шагам создание COM+ приложения в Windows Server:
dcomcnfg и нажмите Enter. Откроется оснастка «Службы компонентов».1C_MSScriptControl_x32) и установите переключатель в положение «Серверное приложение» (Server application). Нажмите «Далее».dllhost.exe.---
Если ваши информационные базы используют прямое подключение к внешним источникам данных через ODBC или OLE DB (например, к сторонним базам MS SQL Server, Oracle, DB2), убедитесь, что на сервере приложений 1С установлены соответствующие 64-разрядные версии драйверов баз данных. 64-битный сервер 1С не сможет задействовать старые 32-битные коннекторы, что вызовет ошибки подключения при выполнении серверного кода.
Выполнив все описанные шаги и уделив внимание правам доступа и настройке внешних компонент, вы гарантируете бесперебойную и быструю миграцию сервера «1С:Предприятие» на производительную 64-разрядную архитектуру!