При проведении планового обновления платформы «1С:Предприятие» в клиент-серверном варианте системные администраторы часто сталкиваются с крайне неприятной ситуацией. Служба сервера 1С успешно запускается, СУБД работает в штатном режиме, однако при попытке авторизации пользователей или входе в конфигуратор система возвращает критическую ошибку «Информационная база не обнаружена». При этом в оснастке «Администрирование серверов 1С:Предприятия» список баз может оказаться абсолютно пустым, а ручной перенос старой папки с настройками кластера не приносит никаких результатов. Если стандартная оснастка не работает или отображает пустой список, для управления базами можно использовать альтернативную кроссплатформенную консоль администрирования кластера.
В этой статье мы подробно разберем причины возникновения данного сбоя, проанализируем взаимосвязь работы службы сервера с реестром Windows и правами доступа операционной системы, а также рассмотрим пошаговые инструкции по восстановлению работоспособности ваших баз данных.
Для начала проанализируем общую схему хранения настроек кластера 1С. Сервер приложений хранит всю ключевую информацию о зарегистрированных базах данных, их идентификаторах (GUID), адресах серверов СУБД и параметрах авторизации в специальном каталоге реестра кластера. По умолчанию этот каталог называется srvinfo. Внутри него находятся конфигурационные файлы:
1cv8wsrv.lst — файл с общими настройками самого сервера приложений.1CV8Clst.lst — реестр кластера, в котором детально описаны все подключенные информационные базы и хэшированные пароли для связи с СУБД.Если после обновления платформы базы пропали, это означает, что вновь запущенная служба сервера 1С по какой-то причине либо не смогла прочитать эти файлы, либо обратилась к совершенно другой (пустой) директории. Рассмотрим подробнее основные технические факторы, приводящие к данной ошибке, и разберем по шагам методы их устранения. Для быстрого анализа состояния рабочего каталога и извлечения списка баз напрямую из файлов настроек можно использовать отчет для анализа содержимого каталога srvinfo.
При переходе на новую версию платформы (особенно если происходит смена разрядности сервера с 32-разрядного на 64-разрядный) установщик регистрирует в операционной системе новую службу под актуальным путем к исполняемому файлу. При этом пути к каталогу с данными кластера могут сброситься на значения по умолчанию.
Давайте разберем, как проверить и скорректировать параметры запуска службы сервера 1С:
regedit и нажмите Enter.HKLM\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent (x86-64) (или аналогичной ветке для вашей разрядности сервера).ImagePath. Этот параметр определяет строку запуска исполняемого файла службы. Обратите внимание на ключ -d, который указывает путь к папке с настройками кластера. Например:
"C:\Program Files\1cv8\8.3.18.1208\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
C:\Program Files (x86)\1cv8\srvinfo или на другом выделенном диске (например, D:\1C_Data\srvinfo), а новая служба ссылается на стандартную папку в Program Files, сервер запустится абсолютно пустым.ImagePath, указав верный путь к вашей старой папке srvinfo после ключа -d.services.msc.Если вы копировали или переносили папку настройки кластера вручную со старого сервера или из другой директории, операционная система Windows могла сбросить права наследования безопасности NTFS.
Служба сервера 1С обычно запускается под специальной локальной учетной записью (часто это USR1CV8). Если у этого пользователя нет полных прав на чтение и запись файлов внутри директории srvinfo, служба запустится, но не сможет прочитать файл реестра кластера 1CV8Clst.lst. Для системы это выглядит так, будто список баз пуст.
Выполним по шагам настройку прав безопасности:
srvinfo.USR1CV8 (или имя той учетной записи, под которой запускается служба сервера 1С в вашей системе) и нажмите ОК.USR1CV8 и установите флажок «Заменить все записи разрешений дочернего объекта наследуемыми от этого объекта». Это гарантирует, что права применятся ко всем внутренним файлам конфигурации баз.Довольно частой причиной ошибки «Информационная база не обнаружена» является недавнее изменение пароля администратора СУБД (например, пользователя sa в MS SQL Server).
В конфигурационном файле 1CV8Clst.lst параметры подключения к базе данных на SQL-сервере хранятся в зашифрованном виде. Если пароль учетной записи СУБД был изменен непосредственно в СУБД, а сервер приложений 1С пытается авторизоваться по старому сохраненному хэшу из файла реестра, SQL Server отклонит транзакцию. Сервер 1С при этом выдаст общую ошибку отсутствия базы.
Для исправления этой ситуации выполним следующие действия:
sa) и его новый действующий пароль.Иногда после обновления платформы сама консоль администрирования или внешние скрипты не могут корректно подключиться к рабочим процессам из-за того, что в операционной системе осталась зарегистрированной старая версия библиотеки comcntr.dll.
Для устранения конфликтов совместимости выполним принудительную перерегистрацию компоненты:
regsvr32 "C:\Program Files\1cv8\8.3.18.1208\bin\comcntr.dll"
Если структура файла реестра 1CV8Clst.lst была безвозвратно повреждена при некорректном завершении работы предыдущей версии платформы или в процессе автоматической конвертации формата файлов, восстановить его работу «напрямую» может не получиться.
В таком случае эффективным решением будет метод, использованный автором обсуждения:
.bak средствами СУБД MS SQL Server или PostgreSQL).Мы детально рассмотрели ключевые аспекты администрирования баз данных 1С при обновлении серверной платформы. Регулярно проверяйте пути запуска служб, корректность назначения прав доступа к рабочим каталогам 1С и своевременно делайте резервные копии баз данных перед любыми технологическими работами на сервере.