При обновлении платформы «1С:Предприятие» до версии 8.3.11 и выше (включая популярную ветку 8.3.13) администраторы часто сталкиваются с неприятной ситуацией: серверная часть 1С успешно запускается и функционирует, но при попытке открыть локальную консоль администрирования ( MMC-снапшот) операционная система выдает критическую ошибку линковки динамических библиотек.
Обычно ошибка выглядит следующим образом: «Точка входа в процедуру ?doStartTimer@Thread@core@@QBE не найдена в библиотеке DLL core83.dll». Попытки вручную перерегистрировать библиотеки через утилиту regsvr32 или выполнить «восстановление» установки платформы не приносят желаемого результата. В этой статье мы подробно разберем, почему возникает этот сбой, как исправить операционную систему и какие существуют обходные пути для управления кластером без переустановки сервера.
Для того чтобы понять природу ошибки, проанализируем архитектурные изменения в платформе 1С. Начиная с релиза 8.3.11, разработчики перевели ключевые модули платформы на использование обновленной универсальной среды выполнения — Universal C Runtime (UCRT) в составе пакетов Visual C++ Redistributable 2015–2022.
Для корректной работы UCRT в операционной системе Windows Server 2008 R2 требуется наличие обновления KB2999226. Однако это обновление физически не может быть установлено на систему, если на ней не развернут пакет обновлений Service Pack 1 (SP1). Без SP1 в ядре операционной системы отсутствуют необходимые системные API-функции управления потоками и таймерами (в частности, те, которые вызываются функцией core::Thread::doStartTimer из библиотеки core83.dll). Возникает конфликт версий, из-за которого MMC-консоль администрирования 1С не может инициализировать интерфейсы управления.
Рассмотрим по шагам основные методы решения этой проблемы — от исправления самой операционной системы до настройки альтернативных каналов администрирования кластера.
Работа сервера 1С:Предприятие на операционной системе без Service Pack 1 несет в себе огромные риски стабильности. Даже если вам удастся запустить службы, рабочие процессы rphost.exe могут внезапно завершаться аварийно с ошибками класса APPCRASH при выполнении фоновых заданий или формировании тяжелых отчетов. Поэтому правильным шагом будет устранение первопричины.
Если стандартный установщик SP1 завершается ошибкой, выполним диагностику и подготовку хранилища компонентов Windows:
Скачаем утилиту System Update Readiness Tool (пакет KB947821) для Windows Server 2008 R2 x64 с официального сайта Microsoft. Данный инструмент сканирует структуру каталога WinSxS на наличие поврежденных манифестов обновлений и автоматически исправляет их.
После завершения работы утилиты проанализируем лог-файл, который находится по пути:
C:\Windows\Logs\CBS\CheckSUR.log
Если в логе остались неисправленные ошибки, их необходимо устранить вручную, заменив поврежденные файлы из дистрибутива чистой ОС.
Перед повторной установкой SP1 установим обновление KB3020369 (Servicing Stack Update). Оно обновляет сам установщик обновлений Windows, что позволяет корректно обрабатывать крупные пакеты исправлений.
Не рекомендуется устанавливать пакет обновлений через стандартный «Центр обновления Windows». Скачаем полный автономный пакет установки SP1 (файл windows6.1-KB976932-X64.exe) и запустим его от имени администратора, предварительно отключив антивирусное программное обеспечение.
Если обновить операционную систему на сервере категорически невозможно (например, сервер критически важен для работы предприятия и его нельзя перезагружать или подвергать риску сбоя при обновлении), мы можем использовать тот факт, что служба самого сервера 1С функционирует исправно. Проблема локализована исключительно в запуске графической оболочки MMC на самом сервере.
Проанализируем архитектуру управления кластером: утилита администрирования может подключаться к кластеру удаленно по сети. Для этого выполним следующие действия:
Таким образом, мы получаем полноценный графический доступ к управлению базами данных, сессиями и блокировками без необходимости запуска утилит непосредственно на сервере.
Современным и наиболее гибким методом администрирования серверов 1С является использование встроенной службы администрирования RAS (Remote Administration Server) и консольной утилиты RAC (Remote Administration Client). Этот подход полностью заменяет громоздкую консоль MMC и работает независимо от системных библиотек графического интерфейса Windows.
Разберем по шагам, как настроить управление через RAS:
Перейдем в каталог установленной платформы 1С на сервере и зарегистрируем RAS как системную службу Windows. Откроем командную строку от имени Администратора и выполним команду регистрации службы:
sc create "1C_RAS_8.3.13" binPath= "\"C:\Program Files\1cv8\8.3.13.1513\bin\ras.exe\" cluster --port=1545" start= auto DisplayName= "1C:Enterprise 8.3 Server Administration"
Запустим зарегистрированную службу:
net start "1C_RAS_8.3.13"
Теперь на сервере активен сервис администрирования, который принимает внешние команды по порту 1545.
С любого другого компьютера, где установлена платформа 1С, мы можем отправлять команды управления. Например, для получения списка информационных баз выполним команду:
rac infobase --cluster=<Идентификатор_Кластера> summary list localhost:1545
Если работа в консоли командной строки неудобна, мы можем скачать сторонние бесплатные графические утилиты для RAC (например, «1C RAC GUI»). Они предоставляют удобное графическое дерево управления, аналогичное стандартной MMC-консоли, но работают через сетевое подключение к RAS, минуя проблемную библиотеку core83.dll.
Иногда ошибка вызова процедур из core83.dll усугубляется тем, что в реестре Windows остались зарегистрированными компоненты от старых версий платформы 1С. Система при попытке запустить оснастку обращается к старым библиотекам COM. Попробуем исправить регистрацию вручную:
regsvr32 /u "C:\Program Files\1cv8\<Старый_Релиз_1С>\bin\radmin.dll"
regsvr32 "C:\Program Files\1cv8\8.3.13.1513\bin\radmin.dll"
Подводя итоги, отметим: если вы столкнулись с невозможностью запуска консоли администрирования на старой версии Windows Server, наиболее быстрым временным решением будет перенос администрирования на удаленную рабочую станцию или запуск службы RAS/RAC. Однако в долгосрочной перспективе крайне рекомендуется запланировать обновление операционной системы сервера или установку Service Pack 1 для предотвращения непредвиденных сбоев в работе критически важных баз данных.