SQL Server
SQL Agent JOB에서 xp_cmdshell 으로 logman.exe(성능카운터수집)를 수행시 실패할 때
AWS-in
2015. 12. 11. 11:48
SQL Server 에서는 xp_cmdchell 로 윈도우 cmd의 명령어를 똑 같이 수행할 수 있다.
아래 경우는 성능모니터 수집을 위해서 logman.exe 를 자동 수행하는 JOB을 생성할 때 아래와 같은 오류가 발생한다.
[오류]
다음 사용자로 실행되었습니다: NT Service\SQLAgent$GHOST. 오류: 액세스가 거부되었습니다. 종료 코드 -2147024891을(를) 처리합니다. 단계가 실패했습니다.
[Action Plan]
성능모니터에서 사용자정의로 생성한 JOB에 대하여 아래와 같이 SQL Agent 시작계정을 추가해주면 된다.
해당 계정이 localsystem이 경우에는 자동 실행이 되지만, 가상계정일 경우에는 별도 추가를 해줘야 한다.
즉 Logman.exe를 실행하는 권한이 없어서 발생하는 현상이다.
또 하나, 쿼리로 수행할 때는 SQL Server 시작하는 가상계정 (MSSQLSERVER\InstanceName)을 추가 해야 정상적으로 동작한다.