SQL Server/SQL Server Tip

SQL Server Job Agent는 몇 개까지 실행이 가능할까?

SungWookKang 2016. 5. 27. 10:52
반응형

SQL Server Job Agent는 몇 개까지 실행이 가능할까?

 

  • Version : SQL Server 2005, 2008, 2008R2, 2012, 2014, 2016

 

SQL Server Job Agent는 몇개까지 실행이 가능할까? SQL Server Job Agent실행할 수 있는 제한범위를 초과하면 다음과 같은 에러를 나타낸다.

SQLServerAgent Error: Request to run job Job_id (from User distributor_admin) refused because the job is already running from a request by User distributor_admin. Changed database context to 'db_name'. (Microsoft SQL Server, Error: 22022)

 

SQL Agent Log에는 아래와 같은 메시지가 기록 된다

251] Step %ld of job %s is being queued for the %s subsystem

 

이러한 문제는 Job Agent의 동시 작업이 가능한 max_worker_thread 한계에 도달 했기 때문이다. sp_enum_sqlagent_subsystems 시스템 저장프로시저는 하위 시스템에 대한 현재 설정되어 있는 max_worker_thread 정보를 나타낸다.

 

Max_worker_thread를 변경하기 위해서는 레지스트리를 수정하여 해결 할 수 있다. 레지스트리를 잘못 수정하면 심각한 문제가 발생할 수 있으므로 주의힌다. 레지스트리를 수정하기 전에는 항상 백업본 생성하여 만약의 경우 시스템을 원래 상태로 복원할 수 있어야 한다.

 

[max_worker_thread 레지스트리 경로]

   

32비트 기본 인스턴스

인스턴스HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\SQLServerAgent\Subsystems

32비트 명명된 인스턴스

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<YourInstanceName>\SQLServerAgent\Subsystems\LogReader

64비트 기본 인스턴스

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSSQLServer\SQLServerAgent\Subsystems

64비트 명명된 인스턴스

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SQL Server\<YourInstanceName>\SQLServerAgent\Subsystems\LogReader

 

참고사항으로 T-SQL 하위시스템 키는 기본적으로 생성되지 않는다. T-SQL 하위키를 수정하려면 Transact REG_SZ 상수값을 추가한다. 숫자는 Transact SQL 하위 시스템에 대한 max_worker_thread 설정을 나타낸다.

) TSQL:REG_SZ:100

 

 

[참고자료]

 

 

 

2016-05-25 / 강성욱 / http://sqlmvp.kr

 

SQL Server, MSSQL, SQL, DBA, SQL Agent, Job Agent, DB Agent, SQL Agent worker thread

반응형