SQL Server Agent 서비스 시작/중지 상태를 확인해 볼 수 있을까요?
PowerShell, VBScript, net command 등 여러가지 방법으로 확인해 볼 수 있겠지만 쿼리를 통해서도 확인이 가능합니다.
CREATE PROC UP_SQLAGENT_STATUS
AS
CREATE TABLE #T1 (
SERVICE_STATUS VARCHAR(10)
);
AS
CREATE TABLE #T1 (
SERVICE_STATUS VARCHAR(10)
);
INSERT INTO #T1 EXEC master..xp_servicecontrol 'QueryState', 'SQLServerAgent'; -- SQLServerAgent 서비스 이름
IF (SELECT SERVICE_STATUS FROM #T1) = 'Running.'
PRINT 'Running'
ELSE
PRINT 'Stopped' -- msdb.dbo.sp_send_dbmail 메일 발송도 처리할 수 있겠지요!
DROP TABLE #T1
GO
위에서 만들어진 저장 프로시저를 수행하게 되면 아래와 같은 결과를 볼 수 있겠습니다.
EXEC UP_SQLAGENT_STATUS
-- SQL Server Agent 서비스가 중지되어 있다면
Stopped
-- SQL Server Agent 서비스가 시작되어 있다면
Running
작성자 : Lai Go / 작성일자 : 2012.07.10