2010-05-24 2 views
1

SQL Server를 시작할 때 서비스 상태를 확인하려고합니다. xp_cmdshell 및 'sc 쿼리 SQLServerAgent | FIND "STATE" '예를 들어 출력을 전역 임시 테이블에로드하십시오. SQL Server가 이미 시작되었지만 sp_procoption을 통해 proc가 autoexec로 설정된 경우 작동하지 않습니다.SQL Server를 시작할 때 서비스를 확인하십시오.

답변

1

"시작 절차는 마스터 데이터베이스에 있어야하며 INPUT 또는 OUTPUT 매개 변수를 포함 할 수 없습니다. 마스터 데이터베이스가 시작될 때 저장 프로 시저 실행이 시작됩니다." 당신은 EXEC master.dbo.xp_servicecontrol 'QueryState', 'SQLSERVERAGENT'을 시도 할 수 http://technet.microsoft.com/en-us/library/ms181720.aspx

+0

시작 프로 시저는 INPUT 또는 OUTPUT 매개 변수를 사용할 수 없기 때문에 INSERT INTO ... EXEC xp_cmdshell을 실행하여 전역 임시 테이블을 채 웁니다. 시작 프로 시저가 임시 테이블을 읽으려고하면 INSERT에서 아무 것도 없습니다. –

0

대신

나는 SQL 서버 2000이 다시 사용하는 데 사용하고 그것은 가능성이 저장된 프로 시저가 있기 때문에 실행시 SQL 에이전트가 실행되고 있지 않은지가 2005

에 아직 거기 그것은 의존적이다. 또는 tempdb가 준비되지 않았습니다.

+0

이 확장 proc을 사용하여 시작시 작성된 전역 임시 테이블을 채우려 고 시도했지만 작동하지 않았습니다. –

관련 문제