Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

MSSQL_19407 1С:Предприятие и СУБД

MSSQL Error 19407: Lease between availability group and WSFC has expired — Решение

Обновлено: 25.08.2026 · Официальная документация ↗
  • В Errorlog: The lease between availability group 'AG_1C' and the Windows Server Failover Cluster has expired. The timeout was 20000 ms. The lease status was 0.
  • Происходит внезапный аварийный Failover группы доступности Always On.
  • Пользователи 1С отключаются от базы с ошибкой: «Соединение с сервером баз данных разорвано администратором».
  • Кластер WSFC переводит ресурс группы в состояние `Failed` или инициирует перезапуск экземпляра SQL Server.

1. Анализ механизма Lease Timeout в Always On

Ресурсная DLL кластера (hadrres.dll) взаимодействует с процессом sqlservr.exe через механизм аренды (Lease mechanism). Если процесс СУБД не успевает продлить аренду за время таймаута (по умолчанию 20 000 мс), кластер считает экземпляр зависшим.

2. Проверка зависаний SQLOS и генерации дампов

-- Проверка активности потока Lease Worker
SELECT 
    session_id,
    status,
    wait_type,
    wait_time,
    last_wait_type
FROM sys.dm_exec_requests
WHERE command LIKE '%LEASE%'
   OR command LIKE '%HADR%';

3. Увеличение таймаута LeaseTimeout и HealthCheckTimeout

-- Увеличение LeaseTimeout до 40 секунд (40000 ms) для высоконагруженных баз 1С
ALTER AVAILABILITY GROUP [AG_1C] 
SET (LEASE_TIMEOUT = 40000);

-- Увеличение времени проверки здоровья (HealthCheckTimeout)
ALTER AVAILABILITY GROUP [AG_1C] 
SET (HEALTH_CHECK_TIMEOUT = 60000);

4. Анализ системного журнала Cluster.log

# Генерация лога кластера Windows за последние 30 минут
Get-ClusterLog -TimeSpan 30 -Destination "C:\ClusterLogs"

Ищите в логе записи: [HADR] Lease renewal thread is unresponsive или Resource SQL Server Availability Group returned failure code.

💡 Практика специалистов: Запретите динамическое перераспределение памяти (Dynamic Memory / Memory Ballooning) и настройте строгий Reservation 100% RAM для всех виртуальных машин, входящих в группу доступности Always On с базами 1С.

Частые вопросы (FAQ)

Почему истекает таймаут аренды (Lease Timeout)?

Основные причины: 100% утилизация CPU длительное время, задержки при выгрузке мини-дампов на медленный диск, интенсивный вызов сборщика мусора в сторонних процессах или зависания ввода-вывода (IO stalls).

Как минимизировать влияние сбоя Lease на сеансы 1С?

Используйте балансировку и правильную настройку переподключения в строке подключения 1С (MultiSubnetFailover=True), а также настройте отказоустойчивый кластер серверов 1С с резервированием рабочих процессов.

Влияет ли гипервизор (ballooning, vMotion) на ошибку 19407?

Да, живая миграция (Live Migration / vMotion) с кратковременной 'заморозкой' памяти гостевой ОС (stun time > 1-2 сек) гарантированно приводит к истечению таймаута аренды Always On.

Какое значение LEASE_TIMEOUT является безопасным максимумом?

Рекомендуемый диапазон для тяжелых инсталляций 1С:ERP составляет от 30 000 до 60 000 мс. Установка значений более 100 000 мс не рекомендуется, так как затягивает обнаружение реальных сбоев.

Полезные материалы
Рекомендуем