Что делать, если после обновления платформы 1С пропали базы и недоступен SQL-сервер?

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

При обновлении платформы «1С:Предприятие» системные администраторы и специалисты по автоматизации иногда сталкиваются с неприятной ситуацией: сразу после установки нового релиза при попытке входа в информационную базу выдается сообщение «База не обнаружена», а при попытке заново добавить базу или проверить подключение возникает ошибка «SQL сервер недоступен».

Рассмотрим подробно причины возникновения этой проблемы, проанализируем поведение служб 1С и MS SQL Server, а также разберем пошаговый алгоритм полного восстановления работоспособности системы.

Причина 1. Сброс параметра пути к кластеру баз (srvinfo) в службе Агента 1С

Самая распространенная причина, по которой после установки нового релиза платформы пропали все базы — это регистрация новой службы Windows для файла ragent.exe без учета настроек предыдущей версии.

Разберем, как устроен реестр кластера 1С. Все сведении о зарегистрированных информационных базах, рабочих процессах и настройках кластера хранятся в файлах 1CV8Clst.lst и 1cv8wsrv.lst в рабочем каталоге кластера (по умолчанию это папка srvinfo).

При установке нового релиза платформы (например, при переходе с ветки 8.3.22 на 8.3.26) инсталлятор перерегистрирует службу «Агент сервера 1С:Предприятия 8.3». Если в свойствах старой службы был явно прописан путь к рабочему каталогу с помощью ключа -d, то новая служба могла запуститься с параметрами по умолчанию, указав на новую или пустую директорию.

В результате служба 1C успешно запускается, но обращается к пустому каталогу srvinfo. Кластер создается «с нуля», и 1С сообщает, что базы не найдены.

Выясним, как проверить и исправить параметры запуска службы:

  1. Откроем оснастку управления службами Windows (services.msc).
  2. Найдем службу «Агент сервера 1С:Предприятия 8.3» и откроем ее свойства.
  3. Проверим строку «Исполняемый файл». В ней должен быть указан корректный путь к ragent.exe актуальной версии и параметр -d, указывающий на папку с существующими файлами реестра кластера.
  4. Если ключ -d отсутствует или указывает на неверную папку, скорректируем его через реестр Windows по адресу:
    
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent...
    
    В параметре ImagePath пропишем правильный путь, например:
    
    "C:\Program Files (x86)\1cv8\8.3.26.67\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files (x86)\1cv8\srvinfo"
    
  5. Перезапустим службу Агента 1С. После этого сервер подхватит файл 1CV8Clst.lst, и базы снова появятся в списке.

Причина 2. Заблуждение относительно службы SQL Server Agent и ограничение SQL Express

В процессе диагностики администраторы часто обращают внимание на то, что служба **SQL Server Agent (SQLServerAgent)** не запускается или завершает работу с ошибкой вида:

SQLServerAgent could not be started (reason: This installation of SQL Server Agent is disabled. The edition of SQL Server that installed this service does not support SQL Server Agent.)

Проанализируем эту ситуацию. В первую очередь важно понимать: **служба SQL Server Agent никак не влияет на возможность подключения 1С к базе данных MS SQL Server**. Агент СУБД отвечает исключительно за выполнение регламентных заданий самого SQL-сервера (планы обслуживания, бэкапы, очисткалогов). Основная СУБД (служба MSSQLSERVER или `MSSQL$INSTANCE`) работает независимо от агента.

Однако приведенная ошибка однозначно указывает на важный факт: на сервере установлена редакция **MS SQL Server Express Edition** (у нее служба SQL Agent заблокирована на уровне лицензии).

В редакции MS SQL Server Express действует жесткое ограничение: **максимальный размер одной базы данных не может превышать 10 Гбайт**. Если при обновлении платформы проводилась реструктуризация таблицы или размер базы превысил 10 ГБ, MS SQL Server блокирует любые операции записи. В этом случае 1С не может подключиться к базе и выдает ошибку **«SQL сервер недоступен»**.

Чтобы точно определить редакцию и версию MS SQL Server, выполним T-SQL запрос в SQL Server Management Studio (SSMS):


SELECT 
    SERVERPROPERTY('Edition') AS Edition,
    SERVERPROPERTY('ProductVersion') AS ProductVersion,
    SERVERPROPERTY('ProductLevel') AS ProductLevel;

Если запрос возвращает Express Edition, проверим размер файлов данных .mdf. При достижении порога 10 ГБ необходимо перейти на полноценную редакцию MS SQL Server (Standard или Enterprise) или провести сжатие и очистку таблиц базы.

Причина 3. Несовместимость версий платформы 1С, СУБД и операционной системы

При переходе на новые релизы платформы (в частности, ветки 8.3.24, 8.3.25, 8.3.26) необходимо учитывать матрицу системных требований 1С.

Современные релизы платформы 8.3.26 прекратили официальную поддержку устаревших операционных систем и СУБД, таких как **Windows Server 2008 R2** и **MS SQL Server 2008 / 2008 R2**.

При попытке запустить платформу 1С 8.3.26 на связке Windows Server 2008 R2 и MS SQL 2008 R2 возникают следующие проблемы:

  1. Несовместимость сетевых протоколов и драйверов: Новые релизы 1С рассчитаны на работу через современный провайдер **Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL)**. Старый драйвер SQLNCLI10 (Native Client 2008) больше не поддерживается платформой.
  2. Изменения в синтаксисе T-SQL: Новая платформа генерирует SQL-запросы с использованием конструкций, которые не поддерживаются СУБД MS SQL 2008 R2, из-за чего сервер базы данных разрывает соединение.

Комплексный алгоритм решения проблемы

Проанализировав все возможные причины, сформируем четкий план действий по восстановлению работы сервера 1С:

  1. Проверить службы и пути: Убедиться, что служба `MSSQLSERVER` запущена. Проверить параметр `-d` в службе Агента 1С и вернуть правильный путь к каталогу `srvinfo`.
  2. Проверить драйверы СУБД: Установить на сервер приложений 1С актуальный компонент **Microsoft OLE DB Driver for SQL Server** (MSOLEDBSQL).
  3. Проверить редакцию СУБД и размер базы: Выполнить запрос SELECT SERVERPROPERTY('Edition'). Убедиться, что размер файла базы данных не превысил лимиты СУБД.
  4. При необходимости выполнить откат или обновление инфраструктуры:
    • Если сервер работает на Windows Server 2008 R2 и MS SQL 2008 R2, а мгновенный апгрейд ОС и СУБД невозможен — откатить платформу 1С на поддерживаемый релиз (например, ветку 8.3.22 или 8.3.23).
    • Для использования релиза 8.3.26 запланировать обновление СУБД до **MS SQL Server 2019/2022** и ОС до **Windows Server 2019/2022**.
← На главную