다음을 통해 공유


이벤트 기록 규칙 정의

이벤트 기록 규칙은 이벤트 기록 테이블의 데이터를 유지 관리합니다. 각 이벤트 기록은 이름, 작업 및 작업 제한 시간을 가집니다.

규칙 이름

이벤트 기록 규칙 이름은 Notification Services 응용 프로그램에서 규칙을 고유하게 식별합니다. 규칙 이름은 데이터베이스 개체 이름 지정에 사용됩니다. 일관성을 위해 이벤트 기록 이름은 이벤트 기록 테이블 이름과 일치해야 합니다.

작업

작업은 기록 테이블의 데이터를 유지 관리하여 응용 프로그램에서 사용 가능한 상태로 데이터를 유지하는 코드를 포함하고 있습니다. 예를 들어, 새 이벤트 일괄 처리가 처리될 때마다 작업의 문은 이벤트 기록 테이블의 모든 기존 데이터를 삭제한 다음 새 이벤트 데이터를 삽입할 수 있습니다.

작업의 문은 하나 이상의 Transact-SQL 쿼리일 수도 있고 저장 프로시저를 실행하는 하나의 Transact-SQL EXECUTE 문일 수도 있습니다.

작업 문은 생성자가 이벤트 일괄 처리를 실행할 때마다 실행되어 생성자가 알림을 생성하는 구독 규칙을 실행하기 전에 완료됩니다. 따라서 이벤트 기록은 알림 생성에 사용되기 전에 업데이트됩니다.

[!참고] 알림이 생성된 후 기록 데이터를 유지 관리하려면 구독 이벤트 규칙을 호출하는 Transact-SQL 쿼리 또는 저장 프로시저를 추가하십시오. 자세한 내용은 이벤트 규칙 정의를 참조하십시오.

작업의 Transact-SQL 문은 일반적으로 이벤트 클래스에서 데이터를 선택하고 이벤트 기록에 데이터를 삽입하거나 업데이트합니다. 다음 예에서는 작업의 Transact-SQL 문 예제를 보여 줍니다. 문은 StockEvents 이벤트 클래스에서 새 데이터를 선택하고 StockEventChron 기록에 데이터를 삽입합니다. 그런 다음 기록에 이미 있는 주식에 대한 주가를 업데이트합니다.

-- Insert New Stock Symbols with Prices
INSERT dbo.StockEventsChron (StockSymbol, StockPrice)
SELECT e.StockSymbol, e.StockPrice
    FROM dbo.StockEvents AS e
    WHERE e.StockSymbol
        NOT IN (SELECT StockSymbol FROM dbo.StockEventsChron);
-- Update Existing Stock Symbols with New Prices
UPDATE dbo.StockEventsChron
    SET StockPrice = e.StockPrice
    FROM dbo.StockEvents AS e 
    JOIN dbo.StockEventsChron AS c
        ON e.StockSymbol = c.StockSymbol
        WHERE e.StockPrice > c.StockPrice;

[!참고] XML 파일에 응용 프로그램을 정의할 경우 '>'와 같은 예약된 XML 문자를 해당 엔터티 참조로 바꾸어야 합니다. 자세한 내용은 XML Reserved Characters를 참조하십시오.

작업의 모든 문은 동일한 트랜잭션에 속합니다. 따라서 모두 완료되거나 모두 롤백됩니다.

Transact-SQL 쿼리를 만드는 방법은 쿼리 기본 사항을 참조하십시오.

작업 제한 시간

작업 제한 시간은 작업의 문이 완료되기까지 허용되는 시간을 지정합니다. 제한 시간이 초과되기 전에 문이 완료되지 않으면 Notification Services 시스템은 트랜잭션을 롤백하고 이벤트 기록 규칙을 실패로 표시하고 이벤트 로그에 오류를 기록합니다.

[!참고] 이벤트 기록 규칙이 실패한 경우 오류가 발생했거나 이벤트 기록 유지 관리 시 제한 시간이 초과되었거나 동일한 생성자 퀀텀 내에 발생하는 관련 구독 이벤트 규칙도 실패하게 됨을 의미합니다. 예약된 규칙은 가장 최신 데이터를 사용하므로 실패하지 않습니다.

이벤트 기록 규칙을 정의하려면 다음 항목을 참조하십시오.

이벤트 기록 규칙 예

다음 항목에서는 이벤트 기록 규칙 예를 제공합니다.

참고 항목

참조

EventChronicle
EventChronicleRule
EventFieldCollection

개념

핵심 이벤트 클래스 속성 정의
이벤트 클래스에 대한 인덱스 정의
이벤트 규칙 정의

관련 자료

이벤트 클래스 정의
EventClass Element (ADF)
Notification Services 응용 프로그램 정의
CREATE TABLE(Transact-SQL)
INSERT(Transact-SQL)
SELECT(Transact-SQL)
UPDATE(Transact-SQL)
DELETE(Transact-SQL)

도움말 및 정보

SQL Server 2005 지원 받기