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

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

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

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

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).

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