Служба SQL Server Agent периодически завершается сбоем.

В этой статье приводятся рекомендации по устранению неполадок, при которой служба SQL Agent неоднократно перестает отвечать через равные интервалы времени.

Симптомы

Служба агента SQL Server завершается периодически в кластере SQL Server AlwaysOn. При сбое службы в журнал агента SQL Server добавляется следующее сообщение об ошибке:

[510] SQLAgent failed, dump generated in \<SQL_Instance_Log_Directory\>  
[LOG] Exception 29539 caught at line 233 of file sql\mpu\SqlAgent\src\autostrt.cpp. SQLServerAgent initiating self-termination.

Причина

Эти ошибки возникают, если служба агента SQL Server не получает следующий подраздел реестра:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceID>\SQLServerAgent\AutoRegistryRefresh

При сбое извлечения подраздела реестра служба агента SQL Server регистрирует исключение в журнале, а затем завершается.

Извлечение подраздела реестра может завершиться ошибкой из-за следующих причин:

  • Антивирусная программа или программное обеспечение защиты конечных точек, которое препятствует доступу к реестру
  • Отсутствующие или неправильно настроенные разделы реестра
  • Временные сбои доступа в реестре Windows

Solution

Чтобы устранить эту проблему, выполните следующие действия.

Шаг 1. Проверка ключа реестра

  1. Запустите редактор реестра (regedit.exe).
  2. Перейдите к следующему пути: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceID>\SQLServerAgent
  3. Проверьте, существует ли AutoRegistryRefresh ключ.
  4. AutoRegistryRefresh Если ключ отсутствует, создайте значение DWORD (32-разрядное) с именем AutoRegistryRefreshи задайте для нее значение1.

Шаг 2. Исключение SQL Server из антивирусной проверки

Это важно

Процесс добавления исключения в антивирусную программу или программное обеспечение защиты конечных точек зависит от издателя. Обратитесь к издателю программного обеспечения с определенными инструкциями.

  1. Настройте антивирусную программу или программное обеспечение защиты конечных точек, чтобы исключить распространенные процессы SQL Server:
    • sqlservr.exe
    • sqlagent.exe
    • ReportingServicesService.exe
    • msmdsrv.exe
    • fdlauncher.exe
    • fdhost.exe
  2. Кроме того, исключите папку, в которой установлен SQL Server. Например: C:\Program Files\Microsoft SQL Server\.

Дополнительные сведения о настройке антивирусного или конечного программного обеспечения для совместной работы с SQL Server см. в статье "Настройка антивирусного программного обеспечения для работы с SQL Server".

Шаг 3. Проверка журналов событий и файлов дампа

Проверьте, содержат ли журналы или последний файл дампа SQL Агента какие-либо новые ошибки.

  1. Просмотрите журналы агента SQL Server, расположенные в: <SQL_Instance_Log_Directory>\SQLAGENT.OUT\
  2. Просмотрите журналы приложений и системные журналы в средстве просмотра событий на наличие связанных ошибок.
  3. Анализ файла дампа SQL-агента. Если создаются несколько файлов дампа, сосредоточьтесь на последнем.

Если новые ошибки не сообщаются, перейдите к следующему шагу. Если существуют новые ошибки, повторите предыдущие шаги, а затем снова проверьте журналы событий и файлы дампа.

Шаг 4. Перезапуск службы агента SQL Server

Перезапустите службу агента SQL Server, чтобы изменения вступили в силу.

Шаг 5. Мониторинг стабильности

  1. Отслеживайте журналы агента SQL Server для любого повторения ошибки.
  2. Убедитесь, что новые файлы дампа не создаются в папке журнала.