다음을 통해 공유


예약 규칙 정의

응용 프로그램이 예약 구독을 지원할 경우 하나 이상의 예약 규칙을 정의해야 합니다.

예약 규칙은 예약 구독에 대한 알림을 만드는 하나 이상의 Transact-SQL 쿼리로 구성된 명명된 집합입니다. 예약 규칙은 필요에 따라 구독 기록의 데이터를 조작합니다. 예약 규칙은 각 퀀텀 동안 실행되며 예약된 평가 시간이 해당 퀀텀에 속하는 구독만 평가합니다.

[!참고] 예약 규칙이 발생되는 정확한 시간은 퀀텀 기간에 따라 다릅니다.

각 구독 클래스에는 하나 이상의 예약 구독이 포함될 수 있습니다. 그러나 예약 규칙 간의 규칙 발생 순서를 지정할 수 없으며 예약 규칙은 어떠한 순서로도 발생될 수 있습니다.

예약 규칙 처리

예약 구독은 일반적으로 구독 생성 시 구독자가 지정한 예약 시간에 관련 알림을 생성합니다. Notification Services에서는 다음 프로세스를 사용하여 예약 규칙에서 알림을 생성합니다.

  1. 이벤트가 도착합니다.
  2. Notification Services는 이벤트 클래스당 하나의 이벤트 일괄 처리를 만든 후 각 이벤트 일괄 처리를 관련 이벤트 테이블에 삽입합니다.
  3. Notification Services는 이벤트 기록을 업데이트하는 각 이벤트 클래스에 대해 이벤트 기록 규칙을 실행합니다.
  4. Notification Services는 예약 규칙을 발생시키고 처리되어야 할 구독만 평가합니다. 예약 구독은 최신 이벤트 일괄 처리만 포함하는 이벤트 클래스 뷰가 아닌 이벤트 기록에 대해 작동됩니다.
  5. 예약 규칙은 결과 알림을 알림 테이블에 삽입합니다. 이 데이터는 알림을 작성 및 배포하는 데 사용됩니다.

알림은 예약된 시간에만 생성되므로 예약 규칙은 주기적인 정보 업데이트에 유용합니다. 예약 규칙을 사용해야 하는 응용 프로그램의 예로 매일의 일기 예보와 주간 유가증권 보고서를 들 수 있습니다.

예약 규칙 정의

예약 규칙은 구독 클래스에 속합니다. 구독 클래스를 정의할 때는 하나 이상의 규칙(예약 규칙 또는 이벤트 기반 규칙)을 정의해야 합니다. 예약 규칙을 정의하려면 예약 규칙 항목을 만듭니다. 그런 후 규칙 이름, 수행할 작업 및 작업의 제한 시간 값을 제공해야 합니다.

예약 규칙을 정의하려면

예약 규칙 이름 지정

각 예약 규칙은 응용 프로그램 내에서 고유한 이름이 있어야 합니다. 이 이름은 관리를 위해 각 규칙을 식별하는 데 사용됩니다.

예약 규칙의 이름을 지정하려면

  • XML을 통해 예약 규칙을 정의할 경우에는 RuleName Element for ScheduledRule (ADF)을 사용하여 예약 규칙 이름을 정의합니다.
  • 프로그래밍 방식으로 예약 규칙을 정의할 경우에는 SubscriptionScheduledRule 클래스(NMO)에 예약 규칙 이름을 정의합니다.
  • 프로그래밍 방식으로 조건 작업이 있는 예약 규칙을 정의할 경우에는 SubscriptionConditionScheduledRule 클래스(NMO)를 사용하여 예약 규칙 이름을 정의합니다.

작업 또는 조건 작업 정의

작업은 Notification Services가 규칙을 발생시킬 때마다 실행하는 쿼리입니다. 구독 규칙은 다음과 같은 단일 작업 및 보다 복잡한 조건 작업을 포함할 수 있습니다.

  • 작업에는 구독 필드와 이벤트 필드 간 일치 항목을 기반으로 알림을 생성하는 데 사용되는 Transact-SQL 쿼리가 포함됩니다. 구독자는 구독을 만들 때 미리 정의된 쿼리에 대한 매개 변수를 정의합니다. 단순 작업을 정의하는 방법은 작업 정의를 참조하십시오.
  • 조건 작업에도 Transact-SQL 쿼리가 있지만 이 쿼리는 구독자가 해당 구독을 정의할 수 있는 뷰를 정의합니다. 구독자는 미리 정의된 쿼리의 매개 변수를 제공하는 대신 관심 있는 필드를 선택한 후 미리 결정한 연산자 집합을 사용하여 자체 조건을 정의합니다. 조건 작업을 정의하는 방법은 조건 작업 정의를 참조하십시오.

제한 시간 값 지정

작업 제한 시간은 작업 또는 조건 작업의 문이 완료되기까지 허용되는 시간을 지정합니다. 제한 시간 전에 문이 완료되지 않으면 Notification Services는 트랜잭션을 롤백하고 예약 규칙을 실패한 것으로 표시한 후 이벤트 로그에 오류를 씁니다.

제한 시간 값을 지정하려면

참고 항목

개념

이벤트 규칙 정의
작업 정의
조건 작업 정의
구독 규칙 정의
이벤트 클래스에 대한 기록 정의

도움말 및 정보

SQL Server 2005 지원 받기