SQL Server 에이전트를 시작하려고 하면 SQL Server 에이전트가 충돌합니다.
이 문서에서는 SQL Server 인스턴스에서 여러 작업을 만들 때 SQL Server 에이전트 서비스에서 발생하는 문제에 대해 설명합니다.
원래 제품 버전: SQL Server
원래 KB 번호: 2795690
증상
SQL Server 에이전트는 시작하려고 할 때 충돌하거나 시작하는 데 예상보다 오래 걸립니다. 또한 다음 시나리오 중 하나 이상이 발생할 수 있습니다.
시나리오 1: 시스템 이벤트 로그에 다음 오류 메시지가 기록됩니다.
서비스가 적시에 시작 또는 제어 요청에 응답하지 않았습니다.
시나리오 2: 에이전트의 상태가 제어판 "시작 중"으로 표시되고 다음 오류 메시지가 SQLAgent.log 파일에 기록됩니다.
유휴 CPU 조건이 정의되지 않았습니다. OnIdle 작업 일정은 영향을 주지 않습니다.
또한 SQLAgent.log 파일에 다음 항목이 기록될 수 있습니다.
<Time Stamp> - ? [431] Populating subsystems cache... \ <Time Stamp> - ? [432] There are 7 subsystems in the subsystems cache \ <Time Stamp> - ? [124] Subsystem 'ActiveScripting' successfully loaded (maximum concurrency: 40)\ <Time Stamp> - ? [124] Subsystem 'ANALYSISCOMMAND' successfully loaded (maximum concurrency: 400)\ <Time Stamp> - ? [124] Subsystem 'ANALYSISQUERY' successfully loaded (maximum concurrency: 400)\ <Time Stamp> - ? [124] Subsystem 'CmdExec' successfully loaded (maximum concurrency: 40)\ <Time Stamp> - ? [124] Subsystem 'PowerShell' successfully loaded (maximum concurrency: 2)\ <Time Stamp> - ? [124] Subsystem 'SSIS' successfully loaded (maximum concurrency: 400)\ <Time Stamp> - ? [124] Subsystem 'TSQL' successfully loaded (maximum concurrency: 80)\ <Time Stamp> - ! [364] The Messenger service has not been started - NetSend notifications will not be sent\ <Time Stamp> - ? [129] SQLSERVERAGENT starting under Windows NT service control\ <Time Stamp> - + [396] An idle CPU condition has not been defined - OnIdle job schedules will have no effect\ <Time Stamp> - ? [110] Starting SQLServerAgent Monitor using '' as the notification recipient...\ <Time Stamp> - ? [146] Request servicer engine started\ <Time Stamp> - ? [133] Support engine started\ <Time Stamp> - ? [167] Populating job cache...\ <Time Stamp> - ? [131] SQLSERVERAGENT service stopping due to a stop request from a user, process, or the OS...\ <Time Stamp> - ? [134] Support engine stopped\ <Time Stamp> - ? [197] Alert engine stopped\ <Time Stamp> - ? [168] There are 4731 job(s) [0 disabled] in the job cache\ <Time Stamp> - ? [170] Populating alert cache...\ <Time Stamp> - ? [171] There are 0 alert(s) in the alert cache\ <Time Stamp> - ? [149] Request servicer engine stopped\ <Time Stamp> - ? [248] Saving NextRunDate/Times for all updated job schedules...\ <Time Stamp> - ? [249] 0 job schedule(s) saved\ <Time Stamp> - ? [127] Waiting for subsystems to finish...\ <Time Stamp> - ? [128] Subsystem 'ActiveScripting' stopped (exit code 1)\ <Time Stamp> - ? [128] Subsystem 'ANALYSISCOMMAND' stopped (exit code 1)\ <Time Stamp> - ? [128] Subsystem 'ANALYSISQUERY' stopped (exit code 1)\ <Time Stamp> - ? [128] Subsystem 'CmdExec' stopped (exit code 1)\ <Time Stamp> - ? [128] Subsystem 'PowerShell' stopped (exit code 1)\ <Time Stamp> - ? [128] Subsystem 'SSIS' stopped (exit code 1)\ <Time Stamp> - ? [175] Job scheduler engine stopped\
시나리오 3: 데이터베이스 엔진 서버는 "SQLAgent - 일반 새로 고침" 서비스의 SQL Server SPID(프로세스 ID)를 표시합니다. 또한 다음 작업은 SPID의 입력 버퍼에서 실행되는 것으로 표시됩니다.
EXECUTE msdb.dbo.sp_sqlagent_refresh_job
참고 항목
SPID는 RUNNABLE 상태이며 정기적으로 대기 유형을 기다리 PREEMPTIVE_OS_LOOKUPACCOUNTSID
거나 SPID가 대기 유형에 대한 ASYNC_NETWORK_IO
대기 상태에 있습니다.
원인
이 문제는 SQL Server에 여러 작업 항목이 있기 때문에 발생합니다.
참고 항목
Reporting Services 구성 관리자에서 보고서에 대한 여러 구독을 의도치 않게 설정하는 경우에도 문제가 발생할 수 있습니다.
해결 방법
이 문제를 해결하려면 필요하지 않은 작업을 삭제합니다.
참고 항목
의도치 않게 많은 구독을 설정했기 때문에 작업 항목이 많은 경우 Reporting Services 구성 관리자를 사용하여 불필요한 구독을 삭제합니다.