2011-03-14 6 views
0

다른 서버에서 실행중인 다른 SQL 데이터베이스를 모니터링하기 위해 VB.NET에서 Windows 서비스를 개발하고 싶습니다.데이터베이스 모니터링 - VB.NET

사용자는 각 데이터베이스에 대한 연결 문자열을 입력/정의합니다. 또한 그/그녀는 연결 간격을 정의합니다.

예를 들어 데이터베이스 A는 5 분마다 검사해야하고 데이터베이스 B는 24 시간마다 검사해야합니다.

이 프로젝트에 가장 적합한 방법은 무엇입니까?

감사합니다.

답변

1

while 루프가있는 Windows 서비스이면 충분합니다.

While (m_serviceIsStopping = False) 

For Each _server In _serverList 
    If ServerNeedsToBeChecked(_server) Then 
    CheckServer(_server) 
    End If 
Next 


Thread.Sleep(100) 
End While 

스레드 수면은 CPU가 소모되지 않도록하는 것이 중요합니다.

여기에 나와있는 일부 권장 사항이 있지만 서비스에 타이머 클래스를 사용하지 마십시오. 그들은 조용히 실패합니다.

또한이 유형의 글은 이전에 작성한 것으로 '업'또는 차단 상태를 확인하는 경우 매우 긴 기간입니다. 매분 또는 그 정도의 시간이 아마 더 좋은 지표가 될 것입니다.