Почему периферийная база 1С на MS SQL запускается очень долго и как это исправить?

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

В процессе эксплуатации распределенных информационных баз (РИБ) технические специалисты часто сталкиваются с парадоксальной ситуацией: центральная база работает безупречно, первые периферийные узлы запускаются мгновенно, но очередная выгруженная база начинает демонстрировать «страшные тормоза». Задержка в 15–20 минут еще до появления окна авторизации — симптом, который может поставить в тупик даже опытного администратора. В этой статье мы подробно разберем причины такого поведения платформы 1С:Предприятие 8.3 и найдем способы решения проблемы.

Анализируем симптомы и исключаем очевидное

Рассмотрим ситуацию по шагам. Основная проблема заключается в том, что база «висит» на этапе инициализации. При этом стандартные средства диагностики не показывают нагрузки на процессор или дисковую подсистему. Проанализируем ключевые факты:

  1. Зависимость от варианта работы: В файловом варианте та же самая база (загруженная из .dt) стартует быстро.
  2. Зависимость от сервера: Проблема сохраняется даже при переносе .dt на заведомо рабочие серверы с корректно настроенным MS SQL.
  3. Эффект «второго запуска»: Если дождаться открытия одного экземпляра, последующие сессии запускаются быстро. Также ускорение происходит, если предварительно открыть свойства базы в консоли администрирования кластера (хотя сами свойства открываются так же долго).
  4. Статус «Копия»: База может быть помечена как копия, регламентные задания отключены, но это не снимает проблему.

Такое поведение однозначно указывает на то, что платформа выполняет некую операцию, ограниченную сетевыми тайм-аутами. Давайте выясним, что именно инициирует эти запросы.

Причина №1: Механизм проверки легальности использования

Начиная с современных версий платформы 8.3, 1С внедрила усиленный механизм проверки лицензионности. Если конфигурация была обновлена или создана в условиях, когда интернет-поддержка была активна, платформа сохраняет внутри базы признак необходимости проверки.

Разберем механику: при запуске клиент-серверной базы процесс rphost или клиентское приложение пытается связаться с Центром защиты обновлений 1С через интернет. Если сервер изолирован от сети или доступ к ресурсам 1c.ru заблокирован файерволом, система не выдает ошибку сразу, а ждет ответа по тайм-ауту. Поскольку запросов может быть несколько, суммарное ожидание растягивается на десятки минут.

Проверить эту гипотезу можно в окне "О программе". Ищите строку "Использование конфигурации: Проверка лицензионного использования выполнена успешно". Если этой строки нет или процесс открытия этого окна занимает долгое время — вы столкнулись именно с этим механизмом.

Как решить проблему проверки легальности:

  1. Попробуйте временно предоставить серверу полный доступ в интернет и успешно авторизоваться в базе. После успешной проверки статус запишется в базу данных (таблицы Config или Params), и проблема исчезнет.
  2. Если интернет-поддержка в периферийной базе не нужна, убедитесь, что она отключена в разделе "Администрирование — Интернет-поддержка и сервисы". Однако помните, что признак проверки может «переехать» из центральной базы вместе с образом.
  3. Рассмотрим вариант переноса через файловую базу. Как показывает практика, выгрузка .dt из файлового варианта, который «не знает» о неудачной проверке на сервере, и последующая загрузка в SQL иногда сбрасывает этот флаг.

Причина №2: Проверка цепочек сертификатов (CRL)

Если проверка легальности не подтвердилась, проанализируем настройки операционной системы. Исполняемые файлы 1С подписаны цифровыми сертификатами. При запуске Windows пытается проверить, не отозваны ли эти сертификаты, обращаясь к серверам Microsoft или удостоверяющих центров.

В закрытых корпоративных сетях это приводит к зависанию процесса 1cv8.exe. Посмотрим, как это отключить на уровне сервера и клиентских машин:

  1. Откройте "Свойства браузера" (Internet Options) через панель управления.
  2. Перейдите на вкладку "Дополнительно" (Advanced).
  3. В разделе "Безопасность" найдите и снимите галочки с пунктов:
    • "Проверять аннулирование сертификатов издателей"
    • "Проверять, не отозван ли сертификат сервера"

Это действие часто сокращает время инициализации библиотек 1С с нескольких минут до секунд.

Причина №3: IPv6 и DNS-резолвинг

Медленное открытие свойств базы в консоли кластера и долгий старт часто связаны с тем, что платформа пытается разрешить имя сервера через протокол IPv6. По умолчанию Windows приоритезирует IPv6, и если в сети он настроен некорректно, платформа ждет тайм-аута, прежде чем откатиться к IPv4.

Выясним причину, выполнив команду ping имя_сервера. Если в ответе вы видите адрес формата fe80::..., значит, проблема актуальна.

Рекомендация: Отключите протокол IPv6 в свойствах сетевого адаптера на сервере 1С и сервере SQL или жестко пропишите соответствие IP и имени сервера в файле hosts:


192.168.1.10  my-1c-server
192.168.1.11  sql-server

Причина №4: Поиск лицензий HASP

Если вы используете аппаратные ключи защиты, платформа при каждом запуске может сканировать сеть на наличие свободных лицензий. В сложных топологиях РИБ, где периферийные базы находятся в других подсетях, этот процесс может затягиваться.

Разберем настройку файла nnhasp.ini. Мы рекомендуем явно указывать адрес сервера лицензий, чтобы исключить широковещательные (Broadcast) запросы, которые могут блокироваться маршрутизаторами.

Отредактируйте файл (обычно он находится в C:\Program Files\1cv8\conf):


[NH_COMMON]
NH_TCPIP = Enabled

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.100 ; IP вашего сервера с ключом
NH_USE_BROADCAST = Disabled

Причина №5: Особенности развертывания из DT в MS SQL

Иногда проблема кроется в самой процедуре создания базы. При загрузке .dt в новую базу SQL, индексы и статистика могут быть не оптимальны. Хотя это чаще влияет на работу в самой базе, а не на окно авторизации, в редких случаях это тормозит инициализацию конфигурации.

Проанализируем алгоритм "чистого" развертывания:

  1. Создайте новую пустую базу в MS SQL.
  2. Установите Simple модель восстановления (Recovery Model) на время загрузки.
  3. После загрузки .dt выполните полное Тии (Тестирование и исправление) с пунктом "Реиндексация таблиц".
  4. Обязательно обновите статистику на уровне SQL Server Management Studio для этой базы.

Итоги

В большинстве случаев "тормоза" при запуске периферийной базы УТ 11.4 вызваны именно комбинацией отсутствия интернета и активного механизма проверки легальности. Платформа 8.3 крайне чувствительна к возможности "отстучаться" на свои сервера при первом запуске новой базы (а каждая периферийная база для SQL — это новый уникальный ID базы).

Если вы столкнулись с подобным, начните с проверки статуса лицензионности и отключения проверок CRL в Windows. Эти два простых шага решают проблему долгого запуска в 90% случаев, экономя время сотрудников и нервы системных администраторов.

← На главную