다음을 통해 공유


Notification Services에 대한 질문과 대답

Microsoft에서는 Microsoft Notification Services에 대한 일반적인 질문과 대답 목록을 만들었습니다.

질문과 대답

Notification Services와 SQL Server 에이전트는 어떻게 다릅니까?

SQL Server 에이전트는 SQL Server 관리자에게 메시지를 보내거나 서버 또는 데이터베이스 상태에 따라 미리 정의된 작업을 수행하기 위한 목적으로 만들어졌습니다.

Notification Services는 거의 모든 원본으로부터 데이터를 수집하고, 여러 사용자가 정의한 구독에 이벤트를 일치시키고, 거의 모든 프로토콜을 사용하여 메시지를 받을 수 있는 대부분의 장치에 서식이 지정된 메시지를 보냅니다.

트리거를 사용하여 여러 사용자에게 메시지를 보내도록 SQL Server 에이전트를 사용자 지정할 수 있지만 SQL Server 에이전트는 수천 명 또는 수백만 명의 사용자 수준으로 확장될 수 있게 디자인되지 않았습니다. 그러나 Notification Services는 수백만 명의 사용자로 확장될 수 있으므로 하루에 수백만 개의 알림을 보낼 수 있습니다.

또한 개발 플랫폼인 Notification Services는 응용 프로그램 시작 및 실행에 걸리는 시간을 단축하는 기능을 제공합니다. SQL Server 에이전트는 개발 플랫폼이 아니므로 이와 같은 기능을 제공하지 않습니다.

Notification Services에 대한 자세한 내용은 SQL Server Notification Services 소개를 참조하십시오.

서버 한 대에서 여러 개의 알림 응용 프로그램을 실행할 수 있습니까?

예. Notification Services 인스턴스를 배포하면 됩니다. 각 인스턴스는 하나 이상의 응용 프로그램을 호스팅할 수 있습니다. 서버 한 대에서 여러 인스턴스를 실행하거나 여러 버전의 Notification Services를 실행할 수 있습니다.

서버 한 대에서 실행할 수 있는 응용 프로그램 개수를 결정하려면 서버에서 각 응용 프로그램이 발생시키는 처리 로드를 확인해야 합니다. 서버 한 대에서 너무 많은 응용 프로그램을 실행하면 성능이 저하됩니다.

자세한 내용은 Notification Services 시스템 계획을 참조하십시오.

이벤트에서 알림을 생성하는 데 얼마나 걸립니까?

모든 알림이 이벤트를 트리거하는 것은 아닙니다. 일부 구독은 알림의 일정을 지정합니다. 이 경우 이벤트가 도착하는 시간이 아니라 정의된 일정에 따라 알림이 보내집니다.

이벤트 트리거 알림의 경우 이벤트 발생과 알림 배달 사이의 대기 시간은 응용 프로그램 디자인에 따라 크게 다릅니다. 알림 대기 시간이 발생하는 원인은 다음과 같습니다.

  • 이벤트가 Notification Services로 전송되어야 합니다. 이벤트 발생 시간과 이벤트 공급자가 이벤트 일괄 처리의 해당 이벤트를 전송한 시간 사이에 차이가 나타나므로 대기 시간이 발생합니다.
  • 생성자는 생성자의 QuantumDuration 속성 값으로 결정되는 일정에 따라 작동합니다. 퀀텀 시간이 60초이면 이벤트 일괄 처리를 사용하여 알림을 만들기까지 60초 정도 지연될 수 있습니다.
  • 생성자가 알림을 생성하려면 이벤트를 구독에 일치시켜야 합니다. 일치는 하나 이상의 Transact-SQL 쿼리에 의해 수행됩니다. 이 쿼리의 성능에 따라 알림 생성과 관련된 대기 시간이 정해집니다. 일반적으로 한 번에 평가되는 이벤트와 구독이 많을수록 프로세스에 걸리는 시간이 길어집니다. 최적화된 규칙과 적절히 선택한 인덱스를 사용하면 일치에 걸리는 대기 시간을 줄일 수 있습니다.
  • 배포자는 배포자의 QuantumDuration 속성 값으로 결정되는 일정에 따라 작동합니다. 생성자와 마찬가지로 퀀텀 시간이 60초이면 배포자가 알림 일괄 처리를 처리하기까지 60초 정도 지연될 수 있습니다.
  • 배포자는 배달할 수 있게 알림의 서식을 지정하고 패키지로 만들어야 합니다. 서식 지정은 콘텐츠 포맷터 개체가 수행합니다. 복잡한 서식 지정은 간단한 서식 지정에 비해 오래 걸리고 서식이 지정된 알림을 배달 서비스로 보내는 데도 시간이 오래 걸립니다. 예를 들어 HTTP 서버에 알림을 게시하는 데 30초까지 걸릴 수 있습니다.

배포자가 SMTP(Simple Mail Transfer Protocol) 서버와 같은 배달 서비스에 알림을 보낸 후에는 Notification Services에서 알림 전송 대기 시간을 제어할 수 없습니다.

Notification Services 응용 프로그램을 개발하려면 Microsoft Visual Studio 2005를 설치해야 합니까?

아니요. 반드시 설치해야 하는 것은 아니지만 Microsoft Visual Studio을 사용하면 개발 작업을 보다 쉽게 수행할 수 있습니다.

표준 이벤트 공급자와 콘텐츠 포맷터를 사용하는 응용 프로그램을 개발하는 경우 XML 응용 프로그램 정의 파일(ADF)을 만든 다음 XML ICF(인스턴스 구성 파일)를 만들어 응용 프로그램을 호스팅할 인스턴스를 정의하면 응용 프로그램을 작성할 수 있습니다. 모든 텍스트 편집기나 XML 편집기를 사용하여 이런 XML 파일을 만들 수 있습니다.

NMO(Notification Services Management Objects)를 사용하여 응용 프로그램을 빌드하거나 구독 관리 인터페이스, 사용자 지정 이벤트 공급자 및 콘텐츠 포맷터를 빌드하려는 경우 Visual Studio 개발 환경을 사용하여 이러한 개체를 만들 수 있습니다. 그러나 Visual Studio를 반드시 사용해야 하는 것은 아닙니다. 코드 작성에는 모든 텍스트 편집기를 사용할 수 있습니다. 단, Microsoft .NET Framework SDK를 설치한 후 코드를 컴파일해야 합니다.

호스팅된 이벤트 공급자와 호스팅되지 않은 이벤트 공급자의 이점을 비교하면 어떻게 다릅니까?

호스팅된 공급자를 구현하면 일반적으로 Notification Services 인스턴스가 Notification Services API를 로드하고 이벤트 공급자 활성화에 사용되는 일정을 유지 관리하므로 개발 작업이 간단해집니다. 다른 Notification Services 구성 요소 및 서비스처럼 호스팅된 공급자도 설정 및 해제할 수 있습니다.

호스팅되지 않은 이벤트 공급자는 고객 관리 응용 프로그램이나 웹 응용 프로그램과 같이 이벤트를 전송할 수 있는 기존 인프라가 있을 경우 유용합니다. 호스팅되지 않은 이벤트 공급자는 구독 클래스가 참조할 수 있도록 응용 프로그램 정의 파일(ADF)에만 나열됩니다.

비관리 코드로 작성된 구독 관리 응용 프로그램이 있는데 이 응용 프로그램에서 해당 API를 호출할 수 있습니까?

Notification Services에서는 단순 구독에 대해 COM interop을 지원합니다. 그러나 Microsoft.SqlServer.NotificationServices.Rules 네임스페이스의 클래스는 COM interop을 지원하지 않으므로 COM interop을 사용하여 조건 기반 구독을 만들 수 없습니다.

자세한 내용은 Notification Services와의 COM Interop을 참조하십시오.

참고 항목

작업

일반적인 Notification Services 문제 해결
Notification Services 이벤트 로깅 구성
이벤트 메시지 사용

도움말 및 정보

SQL Server 2005 지원 받기