Переход с 32-битной на 64-битную версию сервера 1С часто сопровождается техническими сложностями. Типичная ситуация: после установки 64-битного сервера служба запускается и через секунду останавливается, а информационные базы «пропадают». Рассмотрим подробно, как диагностировать и решить эти проблемы, разберем настройку портов, прав доступа и параметров реестра.
Основная причина, по которой 64-битный сервер 1С не запускается после или параллельно с 32-битным — это конфликт сетевых портов. По умолчанию сервер 1С использует следующие порты:
154015411560-1591Проанализируем ситуацию: если на компьютере уже установлена 32-битная версия, она занимает эти порты. При попытке старта 64-битная служба видит, что порт 1540 занят, и мгновенно завершает работу. Чтобы решить эту проблему, нам необходимо либо полностью отключить/удалить 32-битную версию, либо развести службы по разным портам.
Для изменения портов в 64-битной версии воспользуемся командной строкой (cmd) от имени администратора. Выполним перенастройку службы через команду sc config. Предположим, мы хотим назначить 64-битному серверу порты, начинающиеся с 1640.
sc stop "1C:Enterprise 8.3 Server Agent"
sc config "1C:Enterprise 8.3 Server Agent" binPath= "\"C:\Program Files\1cv8\8.3.XX.XXXX\bin\ragent.exe\" -srvc -agent -regport 1641 -port 1640 -range 1660:1691 -d \"C:\Program Files\1cv8\srvinfo\""
sc start "1C:Enterprise 8.3 Server Agent"
Важно: Между binPath= и открывающей кавычкой обязательно должен быть пробел, это синтаксическая особенность команды sc.
Даже после удаления старой версии Windows может сохранять некорректные пути в реестре. Если служба ссылается на исполняемый файл в папке C:\Program Files (x86)\..., она не сможет корректно работать как 64-битный процесс. Разберем, как это проверить.
Откроем редактор реестра regedit и перейдем по пути: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent. Найдем параметр ImagePath. Убедимся, что путь ведет к папке C:\Program Files\1cv8\... (для 64-бит), а не в папку 32-битных приложений. Если путь неверный, отредактируем его вручную, сохраняя все ключи запуска (-srvc, -agent, -d).
Часто пользователи жалуются, что «базы исчезли». На самом деле, сервер 1С просто ищет их не в той директории. Параметр -d в строке запуска службы указывает на каталог данных кластера (обычно это папка srvinfo).
Разберем по шагам, как вернуть список баз:
C:\Program Files (x86)\1cv8\srvinfo.C:\Program Files\1cv8\srvinfo.sc config) укажем путь к этой новой папке через флаг -d.Проанализируем структуру папки: внутри должен находиться файл 1CV8Reg.lst. Это текстовый файл, в котором перечислены все зарегистрированные базы. 64-битный сервер 1С корректно считывает файлы от 32-битной версии, конвертация и переиндексация произойдут автоматически при первом запуске.
Если служба останавливается с ошибкой «отказано в доступе», необходимо проверить, от чьего имени она запускается. Часто при установке выбирается пользователь USR1CV8. Рассмотрим, какие права ему необходимы:
srvinfo и все ее подпапки.Посмотрим на типичную ошибку: если папка была создана под одним пользователем, а служба запускается под другим, 1С не сможет создать файл блокировки 1cv8.log или прочитать 1CV8Reg.lst, что приведет к немедленной остановке процесса ragent.exe.
Когда служба «запускается и сразу останавливается», гадать о причинах не стоит — система всегда фиксирует ошибку. Проанализируем журналы Windows:
Win + R, введем eventvwr.msc.1C:Enterprise.Если мы видим текст «Порт занят», возвращаемся к настройке портов. Если «Ошибка доступа к файлу», проверяем права на srvinfo. Если ошибка связана с драйвером базы данных, выясним причину в следующем разделе.
Выясним важный нюанс: 64-битный сервер 1С требует 64-битных библиотек для связи с СУБД. Если вы используете Microsoft SQL Server, убедитесь, что на сервере установлен SQL Server Native Client (x64). 32-битные компоненты доступа, которые работали со старым сервером 1С, для нового сервера будут бесполезны. Без соответствующих драйверов сервер запустится, но не сможет подключить ни одну базу данных, выдавая ошибку соединения.
В некоторых случаях запуск блокируется поврежденными временными файлами. Если все вышеперечисленное не помогло, попробуем выполнить очистку:
1C:Enterprise 8.3 Server Agent.srvinfo\reg_1541.snccntxt (сеансовые данные) и временные файлы из snccntx+GUID.Внимание: Не удаляйте файл 1CV8Reg.lst, иначе список баз в консоли администрирования станет пустым и их придется добавлять вручную.
Таким образом, последовательно проверяя порты, пути в реестре, права доступа и журналы событий, мы сможем успешно запустить 64-битную версию сервера 1С и сохранить все существующие информационные базы.