다음을 통해 공유


배달 프로토콜 실행 설정 지정

배달 프로토콜을 구성할 때는 배달 다시 시도, 실패 및 제한 시간 처리를 구성하는 몇 가지 실행 설정을 정의할 수 있습니다. 이 항목에서는 이러한 배달 프로토콜 실행 설정을 지정하는 방법을 설명합니다.

알림 배달 다시 시도

알림 배달이 실패하면 배포자는 알림을 다시 배달하려고 할 수 있습니다. 따라서 알림 클래스에 사용되는 각 배달 프로토콜에 대한 다시 시도 일정을 구성해야 합니다.

다시 시도 논리는 배포자 작업 항목 수준으로 적용됩니다. 한 작업 항목의 알림을 배달할 수 없으면 배포자 작업 항목 자체가 실패한 것으로 간주됩니다. 배포자는 지정된 일정에 따라 나중에 배포자 작업 항목의 배달을 다시 시도할 수 있습니다.

배포자가 작업 항목을 다시 시도하면 이전 배달 시도 중에 배달되지 못한 알림만 다시 보내집니다. 그러나 배포자가 알림 배달 상태를 업데이트할 수 없는 오류 상태가 발생하면 배포자는 다음 다시 시도 시 배달을 다시 시도하고 중복된 알림을 다시 보낼 수 있습니다.

다시 시도 일정을 구성할 때는 하나 이상의 다시 시도 간격 값을 지정합니다. 알림 배달이 실패하면 배포자는 첫 번째 다시 시도 간격 값으로 지정된 기간이 경과될 때까지 기다렸다가 작업 항목을 다시 선택합니다. 알림 배달이 다시 실패하면 배포자는 두 번째 다시 시도 간격 동안 기다린 후 배달을 다시 시도합니다. 이 프로세스는 모든 다시 시도 간격 값이 경과되는 시점이나 배달되지 않은 알림이 만료되는 시점까지 계속됩니다.

[!참고] 배달 프로토콜이 아닌 알림 클래스를 기준으로 만료 기간을 지정하십시오. 자세한 내용은 알림 만료 기간 지정을 참조하십시오.

다음 표에서는 3가지 다시 시도 간격 값을 지정했을 때 배포자가 알림 배달을 다시 시도하는 방법을 보여 줍니다.

초기 배달 시도

1:00

첫 번째 다시 시도 간격 = 15분

1:15

두 번째 다시 시도 간격 = 30분

1:45

세 번째 다시 시도 간격 = 60분

2:45

다시 시도 간격 값은 배포자의 배달 일정에는 영향을 주지 않습니다. 이러한 값은 최소 간격을 나타내므로 시도 사이의 실제 간격은 더 길 수 있습니다.

서버가 장시간 작동 중단되면 배포자가 알림을 다시 시도하지 않은 상태로 두 번 이상의 다시 시도 간격이 경과될 수 있습니다. 이 경우 배포자는 서버가 온라인 상태로 돌아올 때 만료되지 않은 배포자 작업 항목을 즉시 다시 시도합니다. 그런 후 다시 시도 간격 일정을 다시 시작하고 지정된 다음 시간 간격만큼 기다렸다가 다시 시도합니다.

다시 시도 일정을 지정하려면

로깅 배달 실패

배포자는 Windows 응용 프로그램 로그에 알림 배달 실패에 대한 항목을 씁니다. 배포자가 각 배달 프로토콜에 대해 배달 실패 이벤트를 기록하는 방법 및 시기를 구성할 수 있습니다.

ms171406.note(ko-kr,SQL.90).gif중요:
Notification Services는 외부 배달 시스템에서 제한된 오류 피드백을 받습니다. 실패가 발생하면 대부분 이벤트 로그에 일반 "배달 실패" 오류가 기록됩니다. 배달 실패 양상이 일관되게 나타나면 구성에 문제가 있는 것일 수 있습니다. 배달 구성을 확인하려면 인스턴스 구성에서 배달 채널 설정을 검토하고 응용 프로그램 정의에서 프로토콜 필드 값을 검토하십시오.

구성할 수 있는 첫 번째 속성은 배포자가 응용 프로그램 로그에 이벤트를 기록하기 전까지 허용되는 실패 발생 횟수이고 두 번째 속성은 실패 횟수에 관계없이 로깅 이벤트 간 최소 간격입니다. 이러한 두 설정을 사용하여 배포자가 응용 프로그램 로그에 쓰는 이벤트의 수를 제어할 수 있으며 짧은 기간 내에 여러 번의 실패가 발생하여 응용 프로그램 로그가 과도하게 커지지 않도록 할 수 있습니다.

예를 들어 실패 횟수를 5로 설정하고 간격을 10분으로 설정하면 배포자가 오류를 기록하기 전까지 5번의 실패가 허용됩니다. 10분 후에는 실패의 번호가 다시 매겨집니다. 5번의 실패가 다시 발생한 후에 배포자는 응용 프로그램 로그에 다른 이벤트를 씁니다.

응용 프로그램을 개발할 때 1번의 실패와 0분을 기본값으로 사용할 수 있습니다. 그러나 응용 프로그램이 프로덕션 환경에 있을 때는 더 큰 값을 사용하여 실패 정보에 대한 요구와 과도한 로깅을 최소화하려는 요구를 모두 적절히 충족시키도록 합니다.

[!참고] NSDiagnosticDeliveryChannel(Transact-SQL)NSDiagnosticFailedNotifications(Transact-SQL) 저장 프로시저는 배달 실패 문제를 해결할 때 유용할 수 있습니다.

이벤트를 기록하기 전 배달 실패의 수를 구성하려면

  • XML을 통해 응용 프로그램을 정의할 경우에는 FailuresBeforeLoggingEvent Element (ADF)에서 이벤트를 기록하기 전 배달 실패의 수를 정의합니다.
  • 프로그래밍 방식으로 응용 프로그램을 정의할 경우에는 FailuresBeforeEventLog 속성(NMO)을 사용하여 이벤트 기록 전 배달 실패의 수를 정의합니다.

기록 간 간격을 구성하려면

  • XML을 통해 응용 프로그램을 정의할 경우에는 FailureEventLogInterval Element (ADF)에서 기록 간 간격을 정의합니다.
  • 프로그래밍 방식으로 응용 프로그램을 정의할 경우에는 FailureEventLogInterval 속성(NMO)을 사용하여 기록 간 간격을 정의합니다.

연속 실패 후 배달 중지

일시적인 네트워크 상태가 아닌 지속적인 네트워크 작동 중단으로 인해 배달 실패가 발생할 경우 배포자는 작업 항목 내의 배달 시도를 중지하여 네트워크의 통신 폭주를 피할 수 있습니다.

배포자가 해당 작업 항목 내의 알림에 대한 추가 배달 시도를 취소하기 전까지 작업 항목 내에서 허용되는 연속 배달 실패의 수를 지정할 수 있습니다. 이 제한에 도달하면 배포자는 응용 프로그램 로그에 메시지를 쓴 후 작업 항목을 실패한 것으로 표시합니다. 이 경우 작업 항목 내에 시도되지 않은 알림이 있을 수 있습니다. 다시 시도 일정을 지정하면 배포자는 다음 다시 시도 간격이 될 때 작업 항목을 선택하고 실패한 알림과 시도되지 않은 알림을 모두 다시 시도합니다.

배달이 중지되기 전까지 허용되는 연속 실패의 수를 구성하려면

  • XML을 사용하여 응용 프로그램을 정의할 경우에는 FailuresBeforeAbort Element (ADF)에서 연속 실패의 수를 정의합니다.
  • 프로그래밍 방식으로 응용 프로그램을 정의할 경우에는 FailuresBeforeAbort 속성(NMO)을 사용하여 연속 실패의 수를 정의합니다.

멀티캐스트 받는 사람 제한

각 배달 프로토콜에 대해 단일 멀티캐스트를 받을 수 있는 구독자의 수를 제한할 수 있습니다. 멀티캐스트에 대한 자세한 내용은 다이제스트 또는 멀티캐스트 배달 지정을 참조하십시오.

멀티캐스트 받는 사람의 수를 제한할 경우 해당 제한에 도달하면 배포자는 멀티캐스트 받는 사람 목록에 구독자를 더 이상 추가하지 않습니다. 그런 후 배포자는 새 목록을 시작하고 제한에 도달할 때까지 새 목록에 구독자를 추가합니다. 이 프로세스는 작업 항목 내의 모든 멀티캐스트 알림이 멀티캐스트 받는 사람 목록에 추가될 때까지 계속됩니다.

ms171406.note(ko-kr,SQL.90).gif중요:
SQL Server 2005 Standard Edition에서는 멀티캐스트 설정을 사용할 수 없습니다.

멀티캐스트 받는 사람 제한을 구성하려면

  • XML을 통해 응용 프로그램을 정의할 경우 MulticastRecipientLimit Element (ADF)에서 멀티캐스트 받는 사람 제한을 정의합니다.
  • 프로그래밍 방식으로 응용 프로그램을 정의할 때는 MulticastRecipientLimit 속성(NMO)을 사용하여 멀티캐스트 받는 사람 제한을 정의합니다.

작업 항목 제한 시간 설정

배포자는 작업 항목을 선택할 때 콘텐츠 포맷터를 호출하여 알림의 서식을 지정하고 배달 프로토콜을 호출하여 알림을 패키지하여 배달합니다. 작업 항목이 아주 크거나 여타의 이유로 배포가 차단되면 작업 항목은 배포자의 스레드를 하나 소비하므로 다른 알림의 처리가 지연될 수 있습니다.

배달 프로토콜에 대한 작업 항목 제한 시간을 지정하면 배포자는 지정된 기간 후에 작업 항목을 해제합니다. 배포자는 작업 항목을 실패한 것으로 표시하며 배달 프로토콜에 다시 시도 일정이 잡혀 있으면 작업 항목을 다시 선택합니다.

작업 항목 제한 시간을 구성하려면

  • XML을 통해 응용 프로그램을 정의할 경우에는 WorkItemTimeout Element (ADF)에서 작업 항목 제한 시간 값을 정의합니다.
  • 프로그래밍 방식으로 응용 프로그램을 정의할 경우에는 WorkItemTimeout 속성(NMO)을 사용하여 작업 항목 제한 시간 값을 정의합니다.

참고 항목

개념

배포자 로깅 구성

관련 자료

Notification Services 저장 프로시저(Transact-SQL)
배달 프로토콜 구성
알림 클래스 정의
Notification Services 응용 프로그램 정의

도움말 및 정보

SQL Server 2005 지원 받기