Как восстановить базы данных 1С и журналы регистрации после обновления сервера приложений?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При обновлении сервера приложений 1С:Предприятие (особенно при переходе со старых версий платформы на современные релизы) администраторы часто сталкиваются с крайне неприятной ситуацией. После успешной установки новой платформы и запуска службы 1С при попытке входа в информационную базу пользователи получают системную ошибку: «Информационная база не обнаружена». При этом сама СУБД MS SQL Server работает исправно, а базы данных физически присутствуют на диске.

В рамках данной статьи мы подробно разберем причины возникновения этой проблемы, выясним, как правильно восстановить связь между сервером приложений 1С и сервером управления базами данных, а также рассмотрим процесс переноса журналов регистрации без потери накопленной истории изменений.

Почему пропадают базы после обновления сервера?

Проанализируем основные технические причины, из-за которых сервер 1С перестает «видеть» существующие базы данных:

  1. Новый каталог реестра кластера (srvinfo): При установке новой версии платформы создается новая служба сервера 1С:Предприятия. По умолчанию она инициализирует чистый каталог настроек кластера, в котором отсутствует информация о ранее зарегистрированных базах.
  2. Изменение разрядности сервера (переход с 32-bit на 64-bit): Если старый сервер работал на 32-разрядной платформе, данные кластера хранились по пути C:\Program Files (x86)\1cv8\srvinfo. При установке современного 64-разрядного сервера по умолчанию создается каталог в папке C:\Program Files\1cv8\srvinfo. Новая служба просто не обращается к старой директории.
  3. Проблемы с правами доступа службы: Новая служба сервера приложений (которая чаще всего запускается от имени системной учетной записи USR1CV8) может не иметь достаточных прав на уровне файловой системы NTFS для чтения и записи файлов из старого каталога кластера.
  4. Отсутствие необходимых компонентов СУБД: Если сервер 1С переносился на новую машину, для корректного соединения с MS SQL Server на стороне сервера приложений обязательно должен быть установлен соответствующий драйвер доступа — SQL Server Native Client или Microsoft OLE DB Driver для SQL Server.

Рассмотрим два надежных варианта решения этой проблемы в зависимости от исходной ситуации.

Вариант 1. Переподключение старого каталога кластера (рекомендуемый способ)

Этот метод является наиболее предпочтительным, поскольку он позволяет мгновенно вернуть все настройки кластера, список зарегистрированных информационных баз, учетные записи пользователей и, самое главное, журналы регистрации.

Разберем этот процесс по шагам:

  1. Остановите службу «Агент сервера 1С:Предприятия» через стандартную оснастку Windows services.msc.
  2. Откройте редактор реестра Windows. Для этого нажмите сочетание клавиш Win + R, введите команду regedit и нажмите Enter.
  3. Перейдите к ветке реестра, в которой хранятся параметры запуска службы сервера 1С:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent... (название службы может немного отличаться в зависимости от конкретного релиза и разрядности платформы).
  4. В правой части окна найдите строковый параметр с именем ImagePath. Этот параметр содержит команду запуска службы.
  5. Найдите в строке ключ -d, который указывает путь к каталогу данных кластера. Замените путь по умолчанию на путь к вашей старой папке srvinfo (например, перенаправьте службу с пути C:\Program Files\1cv8\srvinfo на C:\Program Files (x86)\1cv8\srvinfo, если вы перешли с 32-битной версии на 64-битную).

Пример скорректированной строки в параметре ImagePath:


"C:\Program Files\1cv8\8.3.22.1709\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files (x86)\1cv8\srvinfo"
  1. Важно: Перед запуском службы обязательно настройте права доступа. Откройте свойства вашей старой папки srvinfo, перейдите на вкладку «Безопасность» и предоставьте пользователю, от имени которого теперь запускается новая служба 1С (обычно это локальный пользователь USR1CV8), полные права управления (Full Control) на эту папку и все вложенные объекты.
  2. Запустите службу «Агент сервера 1С:Предприятия». Проверьте подключение через тонкий или толстый клиент. Все базы должны отобразиться в списке и стать доступными для работы.

Вариант 2. Ручное добавление существующих баз через консоль администрирования

Если старый каталог настроек кластера srvinfo был безвозвратно утерян или поврежден, восстановить подключение можно вручную через утилиту администрирования серверов 1С:Предприятия.

Выполним следующие действия:

  1. Запустите утилиту «Администрирование серверов 1С:Предприятия».
  2. В дереве серверов перейдите к ветке «Информационные базы» вашего центрального сервера.
  3. Нажмите правой кнопкой мыши по разделу «Информационные базы», выберите пункт «Создать» -> «Информационная база».
  4. Заполните все ключевые параметры подключения к вашей СУБД:
    • Имя: Укажите имя базы, под которым она будет отображаться в кластере 1С.
    • Сервер баз данных: Сетевое имя или IP-адрес вашего сервера MS SQL Server.
    • Тип СУБД: Выберите MS SQL Server.
    • База данных: Точное имя базы данных непосредственно на SQL-сервере.
    • Пользователь СУБД: Имя администратора базы данных (например, sa).
    • Пароль пользователя: Пароль учетной записи СУБД.
  5. Критически важно: Снимите флажок «Создать базу данных в случае отсутствия» (в некоторых версиях интерфейса — «Разрешить SQL-серверу создание базы данных»). Если этого не сделать, платформа попытается создать новую чистую базу, что может привести к ошибкам или повреждению существующих данных. Наша цель — просто подключиться к уже существующей на SQL-сервере базе данных.
  6. Нажмите кнопку «ОК» для подтверждения операции. База успешно зарегистрируется в новом кластере.

Как не потерять и правильно перенести журналы регистрации

Журнал регистрации в системе 1С жестко привязан к внутреннему уникальному идентификатору базы данных (GUID) внутри конкретного кластера. Путь к файлам журнала регистрации выглядит следующим образом:

.../srvinfo/reg_1541/<GUID_информационной_базы>/1Cv8Log/

Проанализируем особенности переноса журналов для каждого из вариантов решения проблемы:

Для восстановления истории логов при ручном создании выполните следующие действия:

  1. Остановите службу сервера 1С:Предприятия.
  2. Откройте старый каталог srvinfo и сопоставьте имена ваших баз со старыми GUID. Сделать это можно, открыв текстовым редактором файл описания кластера 1CV8Clst.lst, где будут указаны соответствия имен баз и их старых идентификаторов. Также сориентироваться можно по дате изменения файлов в каталогах 1Cv8Log.
  3. Скопируйте все содержимое старой папки 1Cv8Log (файлы формата SQLite .lgd или старые файлы последовательного формата .lgf и .lgp).
  4. Перейдите в новый каталог srvinfo, найдите вновь созданную папку с новым GUID для этой же базы данных и вставьте скопированные файлы в соответствующую директорию 1Cv8Log с заменой пустых файлов.
  5. Запустите службу сервера 1С. Теперь вся история действий пользователей за предыдущие периоды будет доступна в интерфейсе программы.
← На главную