.NET으로 작성된 일부 Windows 서비스가 있습니다. mmc 서비스 내에서 수동으로 시작되지만 자동으로 설정되어 있어도 시스템 전원을 켜거나 재부팅 할 때 시작되지 않습니다.
업데이트 이벤트 로그에서 “xyz 시작”이 아닌 다른 모든 서비스 시작과 함께 “xyz 서비스가 중지 된 상태가되었습니다.”라는 메시지 만 표시됩니다. “slsvc 서비스로부터의 트랜잭션 응답을 기다리는 동안 시간 종료 (30000 밀리 초)에 도달했습니다”라는 별도의 오류가 있습니다.
수동으로 시작하면 예상대로 이벤트 로그에 정상적인 항목이 표시되고 다음 Windows Update 패치까지 재부팅하면 강제로 모든 서비스가 다시 종료됩니다.
어떤 아이디어? 명백한 차이없이 지연 시작으로 설정하려고했습니다.
답변
그에 대한 수정이 있습니다. 참조 : http://support.microsoft.com/kb/922918
문제는 서비스에 ldap 또는 다른 원격 액세스가 필요할 수 있기 때문에 지연이 발생한다는 것입니다. 이것은 특히 서버가 시작될 때 발생할 수 있습니다. 지연을 연장하면 서비스가 시작되도록 할 수 있습니다.
물론이 서비스를 시작하는 데 시간이 오래 걸리는 이유를 해결하는 것이 좋습니다. 환경이 불안정합니까? 서비스 시작이 지연되어 폴링되는 서비스에 대한 성능 문제가 있습니까?
답변
“Windows 서비스가 있습니다”라는 말의 의미는 무엇입니까? 그것은 당신의 조직 내 누군가에 의해 내부적으로 만들어 졌다고 제안합니까? 그렇다면이 서비스를 Windows 구성 요소에 어떤 종속성이 있으며 프로그래머가 이러한 서비스의 가용성을 테스트하고 서비스가 시작될 때 온라인 상태가되기를 기다리는 것을 고려하십시오. ?
당신은 (무엇을하는 소프트웨어 라이선스 서비스의 종속성으로 이러한 서비스를 설정하는 생각 해 봤나 slsvc가 있다)?
에서 http://support.microsoft.com/kb/193888
새 종속성을 만들려면 지연하려는 서비스를 나타내는 하위 키를 선택하고 편집을 클릭 한 다음 값 추가를 클릭합니다. REG_MULTI_SZ 데이터 형식으로 새 값 이름 “DependOnService”(인용 부호없이)를 만든 다음 확인을 클릭합니다. 데이터 대화 상자가 나타나면이 서비스 전에 시작하려는 서비스의 이름을 각 줄에 하나씩 입력 한 다음 확인을 클릭하십시오.
데이터 대화 상자에 입력 할 서비스 이름은 서비스 키 아래의 레지스트리에 표시되는 정확한 서비스 이름입니다.
컴퓨터가 시작되면이 항목을 사용하여 종속 서비스를 시작하기 전에이 값에 나열된 서비스가 시작되었는지 확인합니다.
답변
이것으로 시도하십시오 :
다음 명령을 실행하여 환경에 맞는 트리거 이벤트를 정의하십시오. 이 예에서 명령은 IP 주소가 호스트에 제공되는지 여부를 확인한 다음 서비스를 시작 또는 중지합니다.
sc 트리거 정보 w32 시간 시작 / 네트워크 켜짐 중지 / 네트워크 꺼짐
여기서 w32Time은 서비스 이름입니다.
또는 이것을 시도하십시오