Как известно, начиная платформы 1С 8.3, все версии платформы находятся в одном общем каталоге:
- Для 32-х разрядной версии — «C:Program Files (x86)1cv8»
- Для 64-х разрядной версии — «C:Program Files1cv8»
Собственно, в 1С 8.2 они тоже были в одном, только он назывался по другому «1cv82». До 1С 8.2 новая версия платформы устанавливалась поверх старой. Отдельная подпапка для новой версии не создавалась.
Если же установлен сервер 1С Предприятие, его настройки находятся рабочем каталоге сервера, в этой же общей папке в каталоге «srvinfo» (при необходимости можно перенести эти данные в любое другое место). Соответственно, при установке новой версии 8.3, в папке «1cv8» появляется новая подпапка с номером новой версии, а все настройки сервера используются те же, из папки «srvinfo». При этом, не происходит установка нового экземпляра службы сервера.
Примечание. При необходимости, можно создать и использовать параллельно несколько версий службы сервера 1С 8.3 на одном компьютере. Для этого необходимо воспользоваться командной строкой и создать новую службу вручную. Потребуется указать новые рабочие порты и путь к рабочему каталогу нового экземпляра сервера «srvinfo».
Пример создания новой службы сервера из командной строки:
@echo offset
SrvUserName=".USR1CV8"
set SrvUserPwd="********"
set SrvcName="1C:Enterprise 8.3 Server Agent 2"
set BinPath=""C:Program Files (x86)1cv88.3.14.1630in
agent.exe" -srvc -agent -regport 2541 -port 2540 -range 2560:2591 -d "D:1c_srvinfo""
set Desctiption="1C:Enterprise 8.3 Server Agent 2"
sc delete %SrvcName%
sc create %SrvcName% binPath= %BinPath% start= auto obj= %SrvUserName% password= %SrvUserPwd% displayname= %Desctiption% depend= Dnscache/Tcpip/lanmanworkstation/lanmanserversc
start %SrvcName%
Однако, если необходимо не только установить новую версию сервера 1С, а, дополнительно перейти с 32-х разрядной версии на 64-х разрядную, путь нахождения программных файлов изменится. Новая версия сервера будет установлена параллельно текущей.
Как известно, журналы регистрации для серверных баз 1С находятся в рабочем каталоге сервера «srvinfo». Соответственно, при переходе на 64-х разрядную версию сервера, будут созданы новые журналы, вместе с новым экземпляром сервера. Информация из старых журналов регистрации будет потеряна. Если данные журналов регистрации часто используются администраторами и пользователями информационных баз, это является проблемой.
Собственно, в этой статье, я даю инструкцию по переходу на 64-х разрядную версию сервера 1С с сохранением данных журналов регистрации информационных баз, которые использовались при работе 32-х разрядной версии сервера.
Примечание. Если служба сервера регистрируется вручную, а не автоматически при установке платформы, и путь к рабочему каталогу сервера отличается от стандартного, можно при регистрации службы 64-х разрядного сервера указать каталог 32-х разрядного сервера. В этом случае переносить ничего не нужно и данные журналов регистрации будут доступны при работе с 64-х разрядным сервером.
Порядок действий для перехода на 64-х разрядный сервер 1С
Останавливаем и отключаем службу агента 32 разрядного сервера. Это можно сделать из командной строки или из списка рабочих служб сервера:
Устанавливаем 1С платформу 64 (сервер и все необходимые компоненты), при установке необходимо не забыть указать пароль для существующего пользователя USR1CV8.
После успешной установки необходимо проверить запуск службы агента 64 разрядного сервера.
Далее пробуем запустить консоль кластера серверов 1С для 64-х разрядной версии. В случае, если консоль не запускается, регистрируем необходимую библиотеку dll:
Пуск >> Все программы >> 1С Предприятие 8 >> Дополнительно >> [Номер версии 1С] >> Регистрация утилиты администрирования серверов 1С Предприятия
Или из командной строки:
C:Program Files1cv88.3.14.1630inRegMSC.cmd
Выполняем перегрузку сервера (на всякий случай).
Опять запускаем консоль кластера серверов, открываем локальный кластер — список информационных баз пустой:
Закрываем консоль кластера и останавливаем службу агента 1С сервера.
Переносим информацию об информационных базах из файлов «1CV8Clst.lst» и «1CV8Clsto.lst», расположенных в рабочем каталоге 32-х разрядного сервера:
C:Program Files (x86)1cv8srvinfo
eg_1541
в аналогичные файлы в рабочем каталоге 64-х разрядного сервера:
C:Program Files1cv8srvinfo
eg_1541
Примечание. Если рабочие каталоги старого и нового серверов отличаются от стандартных, используем именно их. Посмотреть какой каталог использует текущая служба сервера, можно в консоли служб сервера:
Заменяем фрагмент:
},0,0,0}, {0},
Заменяем на:
},0,0,0}, {[количество баз],[информация о базах]}
Далее, переносим все папки из каталога 32-х разрядного сервера:
C:Program Files (x86)1cv8srvinfo
eg_1541
в каталог 64-х разрядного сервера:
C:Program Files1cv8srvinfo
eg_1541
Кроме папки, имя которой начинается с «snccntx» — ее не переносим.
Внимание. Папки требуется именно переносить, чтобы также перенеслись все права, установленные для них. При копировании права могут не перенестись и потребуется их назначать вручную.
Далее, запускаем консоль кластеров 1С x64 и проверяем наличие всех информационных баз:
Пробуем открыть любую базу на сервере.
Изменение настроек для корректной работы web сервера
Если базы данных опубликованы на web сервере, необходимо изменить его настройки. Рассмотрим на примере использования web сервера IIS.
Меняем исполняемый файл для обработчика «1C Web-service Extension», в разделе «Сопоставление обработчиков» опубликованных информационных баз. Изменяем путь к скрипту «wsisapi.dll», на аналогичный путь из папки «bin» 64-х разрядной версии платформы:
Примечание. В последних версиях платформы 1С 8.3 сопоставление обработчиков изменяется автоматически при перепубликации информационной базы. Необходимости делать это в ручную нет.
Так как разрешения для запуска 32 разрядных расширений уже не нужны, то меняем в настройке IIS:
Пулы приложений -> DefaultAppPool -> Дополнительные параметры -> Разрешены 32-разрядные приложения -> на «false».
Выполняем повторную публикацию всех информационных баз на web сервере из конфигураторов системы:
Внимание. Для публикации и перепубликации баз данных на web сервере необходимо запускать конфигуратор 1С с правами администратора.
Пробуем открыть информационные базы через web, используя тонкий клиент или браузер.
Спасибо за внимание, если статья оказалась полезной не забывайте поставить звездочку J
Спасибо за статью
Спасибо за статью! Не проще в реестре изменить путь к ragent с 32бит на 64бит агента? Смысл оставлять запись для «мёртвого» 32бит.
Спасибо. Схоронил.
(2)А рабочий каталог старый использовать?
Можно, как вариант.
Рабочий каталог вообще рекомендую на отдельный быстрый диск выносить: так будет быстрее* и износ системного диска не будет беспокоить. Рабочий каталог для служб устанавливается в реестре. Периодически файл списка баз из рабочего каталога бэкапить не запрещено.
* По крайней мере для типовых конфигураций.
(46)Согласен. Тоже так делаю
Статья хорошая, только не понятно зачем создавать службу вручную, если она сама создается при установке сервера 1С.
Аналогично можно поступать при переезде сервера 1С с одного сервера на другой, только нужно обязательно перезабить пароль SQL в консоли. При этом, при такой же разрядности, что кэш сервера «snccntx», можно сохранить.
(7)Спасибо. Допустим, Вам нужно создать на сервере дополнительную службу сервера 1С для отладки и работы программистов.
Спасибо)
Почему при запуске 64 битного сервера может происходить зависание конфигуратора? В диспетчере задач «Не отвечает» и все.
(10)Проблем много может быть. Нужно разбираться по месту. Я не сталкивался с подобной ситуацией.
Служба SQL запущена, служба агента запущена от пользователя с админскими правами, все вроде ОК. Платформа 8.3.12.1924