Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

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

MSSQL Error 17187: SQL Server is not ready to accept new client connections

Обновлено: 25.08.2026  ·  Официальная база знаний
  • Пользователи 1С и служба ragent получают ошибку SQL Server is not ready to accept new client connections при попытке авторизации.
  • В логе Errorlog повторяется сообщение Error: 17187, Severity: 16, State: 1.
  • Сервер находится в процессе запуска, остановки или перевода системных баз данных в состояние онлайн.
  • Исчерпание пула рабочих потоков (Worker Threads Exhaustion), при котором СУБД отвергает новые TCP-соединения.

1. Проверка текущего этапа инициализации ядра SQL Server

-- Подключение через выделенное административное соединение (DAC)
-- sqlcmd -S admin:localhost
SELECT name, state_desc FROM sys.databases WHERE name IN ('master', 'tempdb', 'msdb');

2. Анализ журнала Errorlog на предмет зависшего восстановления баз

EXEC sp_readerrorlog 0, 1, 'Recovery of database';
EXEC sp_readerrorlog 0, 1, 'Recovery is';

Если база tempdb повреждена или размещена на несмонтированном диске, SQL Server не сможет завершить процедуру старта.

3. Проверка исчерпания потоков ядра (Worker Threads)

SELECT 
    max_workers_count, 
    workers_count, 
    runnable_tasks_count, 
    work_queue_count 
FROM sys.dm_os_sys_info;

Если work_queue_count > 0 и workers_count = max_workers_count, сервер заблокирован лавиной неэффективных запросов 1С.

4. Оптимизация пула max worker threads

EXEC sp_configure 'show advanced options', 1; RECONFIGURE;
-- 0 = автоматический расчет пула ядром в зависимости от ядер CPU
EXEC sp_configure 'max worker threads', 0; RECONFIGURE;

5. Проверка состояния остановки (Shutdown status)

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

Практический опыт инженера: Если ошибка 17187 возникает под высокой нагрузкой в рабочее время, это признак 'Thread Starvation' из-за тысяч параллельных мелких вызовов 1С с блокировками. Проверьте счетчик sys.dm_os_schedulers на наличие зависших воркеров.

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

Почему ошибка 17187 возникает сразу после перезагрузки сервера?

СУБД требуется время на накат (Redo) и откат (Undo) незафиксированных транзакций для всех баз, особенно если перед перезапуском 1С выполнялась тяжелая транзакция закрытия месяца.

Как подключиться к серверу для диагностики, если новые подключения отклоняются?

Используйте выделенное административное соединение (Dedicated Administrator Connection — DAC): в командной строке выполните sqlcmd -S admin:ИмяСервера.

Может ли сбой tempdb приводить к постоянной ошибке 17187?

Да. Если файлы tempdb не могут быть созданы при старте (например, нет места на выделенном RAM-диске/SSD), сервер зависает в цикле инициализации.

Как кластер 1С реагирует на ошибку 17187?

Кластер 1С непрерывно перезапускает процессы rphost, регистрируя ошибки потери связи с СУБД в технологическом журнале (EXCP).