sp_start_job 수행이 안될때(MS SQL 2008)

Application ID 에서 sp_start_job 이 수행되지 않을 때

일부 Application 에서는 스케줄 작업 등을 등록하고 App. 에서 Control 하는 경우가 있을것이다.
Schedule에 등록된 작업을 수행하려면  sp_start_job @job_name 을 수행하면 된다.
그런데 일반 DB Login 아이디를 생성하면  sp_start_job을 수행할수 없다.

MS SQL 2008 도움말을 확인해보니 다음의 권한이 있어야 실행이 가능하다.
sysadmin의 권한을 가지거나 ( 이 권한은 막강하기 때문에 app에는 어울리지 않는다 )
아래와 같이 권한이 있으면 수행이 된다.
  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole
SQL 도움말을 확인하면...
By default, members of the sysadmin fixed server role can execute this stored procedure.
Other users must be granted one of the following SQL Server Agent fixed database role in the msdb database:
  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole
Members of SQLAgentUserRole and SQLAgentReaderRole can only start jobs that they own.
Members of SQLAgentOperatorRole can start all local jobs including those that are owned by other users.
Members of sysadmin can start all local and multiserver jobs.

댓글

이 블로그의 인기 게시물

dtsrun 실행하기

[MS SQL] SP수행 시간 및 작업빈도 확인

Slug가 뭘까?