В моём случае у пользователя в узле базы нет прав на работу с конфигуратором, а изменения в узел РИБ приходят довольно часто.
Для обновления конфигурации в узле был создан bat-файл. При завершении работы службы "1C:Enterprise 8.3 Server Agent (x86-64)", сеансы пользователей не прерывались, даже при 30-секундном ожидании. При попытках обмена, когда конфигурация узла не соответствует конфигурации основной базы, появляются зависшие сеансы, иногда даже выводилась ошибка, что при текущем составе лицензий выполнить запуск невозможно. Поставил малое время бездействия, до отключения сеанса, но обмены происходят чаще и проблема зависших сеансов осталась. Для отключения сеансов предусмотрен механизм поиска и удаления папки с кешем сервера по части названия "snccntx". Механизм взял по ссылке https://www.cyberforum.ru/cmd-bat/thread1398368.html
Далее оказалось, что у пользователя Windows нет прав для остановки службы.
Тут пригодилась программа http://admilink.ru/ для запуска с правами администратора, без знания пароля администратора.
Параметры надо заменить соответственно:
127.0.0.1/exampleTest - имя сервера/название базы SQL
exampleUser - наименование пользователя с полными правами базы 1с
examplePassword - пароль пользователя с полными правами базы 1с
Корме того, надо проследить, чтобы папка с кешем сервера была именно в C:\Program Files\1cv8\srvinfo\reg_1541, для 32-х разрядного сервера, кеш в другой папке.
Путь "C:\Program Files (x86)\1cv8\8.3.16.1063\bin\1cv8.exe" тоже должен соответствовать вашему файлу для запуска платформы.
Текст bat-файла:
@echo off
set v8exe="C:\Program Files (x86)\1cv8\8.3.16.1063\bin\1cv8.exe"
set DataBaseName="127.0.0.1/exampleTest"
set DataBase=/S%DataBaseName%
set "directory=C:\Program Files\1cv8\srvinfo\reg_1541"
set "known_part=snccntx"
set AdminUser=/N"exampleUser" /p "examplePassword" /WA-
echo Exit
net stop "1C:Enterprise 8.3 Server Agent (x86-64)"
TIMEOUT 7
REM +++ Механизм поиска и удаления папки с кешем
set n=0
pushd "%directory%"
for /f %%i in ('2^>nul dir/ad/b "*%known_part%*"') do (
set/a n+=1
call set $%%n%%=%%i
)
popd
if %n% equ 0 (
echo no folders found.
)
if %n% equ 1 (
pushd "%directory%"
2>nul rd/q/s "%$1%"&& (
echo Удалена папка "%$1%".
)|| (
echo Папка "%$1%" found, but it could not be completely deleted.
)
popd
)
if %n% gtr 1 (
echo folders found %n%:
cmd/v/c "for /l %%i in (1 1 %n%) do @echo !$%%i!"
)
REM --- Механизм поиска и удаления папки с кешем
TIMEOUT 7
net start "1C:Enterprise 8.3 Server Agent (x86-64)"
TIMEOUT 7
echo .
echo Updating...
start "" /wait %v8exe% CONFIG %DataBase% %AdminUser% /UpdateDBCfg /UC123
echo .