Нередко после технических работ на сервере 1С, изменения сетевых портов служб или восстановления базы из копии пользователи сталкиваются с неприятным поведением системы: база успешно открывается, однако периодически или при входе появляется всплывающее окно с сообщением «Информационная база не обнаружена». При этом платформа может предварительно запрашивать подтверждение перемещения базы («Это копия» или «Информационная база была перемещена»).
Разберем детально, почему возникает такое поведение, как локализовать источник ошибки через технологические механизмы и как полностью устранить проблему.
Причины возникновения сбоя
Проанализируем ситуацию: клиент успешно подключается к серверу 1С, но в процессе работы встроенные фоновые процессы конфигурации пытаются инициировать внешнее подключение или регламентную операцию. Ошибка возникает по следующим причинам:
Неверная настройка портов кластера 1С. Если на одном сервере параллельно функционируют службы нескольких версий (например, 1С:Предприятие 8.2 и 8.3), для них назначаются нестандартные порты. Если порт главного менеджера кластера был изменен, фоновые задания могут продолжать попытки подключения к старому порту или стандартному порту 1541.
Кэширование строки подключения в подсистемах БСП. Библиотека стандартных подсистем (БСП) в типовых конфигурациях (включая «1С:Бухгалтерия 3.0 КОРП») контролирует перемещение базы. Если первый запуск базы после сбоя прошел с некорректным портом или именем кластера, эта неверная строка подключения сохранилась во внутренних служебных параметрах БСП.
Некорректная версия библиотеки COM-соединения. При одновременной установке 8.2 и 8.3 в операционной системе Windows в реестре может остаться зарегистрирована библиотека comcntr.dll от старой версии. Внешние вызовы и фоновые регламентные обмены при вызове COM-соединения не могут найти базу в новом кластере.
Серверный кэш сеансов и полнотекстового поиска. В каталоге данных кластера (каталог srvinfo) могут сохраняться временные файлы сессий и старые сокеты, ссылающиеся на несуществующий идентификатор базы.
Шаг 1. Анализ журнала регистрации
Прежде чем вносить изменения, выясним точную причину ошибки. Для этого откроем Журнал регистрации в режиме «1С:Предприятие»:
Перейдем в раздел Администрирование $\rightarrow$ Обслуживание $\rightarrow$ Журнал регистрации.
Установим отбор по уровню важности: Ошибка и Предупреждение.
Найдем событие с текстом «Информационная база не обнаружена».
В деталях события проанализируем имя регламентного задания или фонового процесса, а также строку соединения, к которой выполнялась попытка подключения (в ней будет виден ошибочный порт или некорректное сетевое имя сервера).
Шаг 2. Актуализация параметров размещения базы в БСП
Если ошибка связана со встроенным механизмом защиты от параллельной работы копий БСП, выполним обновление параметров размещения:
Перейдем в раздел Администрирование $\rightarrow$ Обслуживание $\rightarrow$ Регламентные операции.
Откроем пункт Блокировка работы с внешними ресурсами.
Если работа внешних ресурсов заблокирована или отображаются устаревшие параметры подключения (старый порт сервера), нажмем кнопку Разблокировать или подтвердим, что база была перемещена, зафиксировав новые корректные параметры кластера.
Перезапустим сеанс «1С:Предприятия» и проверим результат.
Шаг 3. Проверка параметров регламентных заданий и обменов
Рассмотрим регламентные задания, которые обращаются к текущей или внешним информационным базам:
Откроем форму Регламентные и фоновые задания (раздел Администрирование $\rightarrow$ Обслуживание).
Проверим задания, завершающиеся с ошибкой: «Синхронизация данных», «Загрузка курсов валют», «Обновление классификаторов», «Сбор и отправка статистики».
Если настроен обмен данными с другой базой через прямое подключение (COM или веб-сервис), перейдем в настройки соответствующей синхронизации (раздел Администрирование $\rightarrow$ Синхронизация данных $\rightarrow$ Настройки синхронизации) и скорректируем порт и имя сервера в строке подключения.
Шаг 4. Регистрация корректной версии comcntr.dll
Если на сервере установлены платформы 1С 8.2 и 8.3, необходимо убедиться, что глобальный COM-коннектор указывает на рабочую версию 8.3. Зарегистрируем библиотеку вручную:
Запустим командную строку cmd.exe от имени Администратора.
Перейдем в каталог bin установленной платформы 1С 8.3 (разрядность должна совпадать с вызывающим процессом):
cd "C:\Program Files\1cv8\8.3.XX.XXXX\bin"
regsvr32 comcntr.dll
Если используется 32-разрядное приложение на 64-битной Windows, также зарегистрируем библиотеку из каталога C:\Program Files (x86)\1cv8\8.3.XX.XXXX\bin.
Остановим службу сервера 1С:Предприятия через оснастку services.msc (служба 1C:Enterprise 8.3 Server Agent).
Перейдем в рабочий каталог данных кластера (по умолчанию C:\Program Files\1cv8\srvinfo\).
Внутри каталога реестра (например, reg_1541 или reg_2541) найдем и удалим временные папки контекстов сеансов вида snccntx*. Важно: не удаляйте файлы конфигурации кластера 1CV8Clst.lst, 1cv8wsrv.lst и каталоги баз с GUID.
Запустим службу сервера 1С:Предприятия.
После выполнения указанных шагов фоновые задачи получат актуальные параметры соединения с кластером серверов, и сообщение «Информационная база не обнаружена» перестанет появляться.