NSDiagnosticEventClass(Transact-SQL)
Microsoft SQL Server Notification Services 응용 프로그램에 대한 이벤트 클래스 보고서를 생성합니다. 이 보고서를 사용하여 이벤트 컬렉션 문제를 해결할 수 있으며, 이 보고서에서는 응용 프로그램의 이벤트 처리에 대한 정보를 제공할 수 있습니다.
구문
[ schema_name . ] NSDiagnosticEventClass
[ @ApplicationName = ] 'app_name' ,
[ @EventClassName = ] 'event_class_name'
[, [ @ReportingInterval = ] interval ]
[, [ @StartDateTime = ] 'start_date_time' ]
[, [ @EndDateTime = ] 'end_date_time' ]
인수
[ @ApplicationName = ] 'app_name'
구성 파일에 정의된 응용 프로그램의 이름입니다. app_name은 **nvarchar(255)**이며 기본값은 없습니다.
[ @EventClassName = ] 'event_class_name'
응용 프로그램에 있는 이벤트 클래스의 이름입니다. event_class_name은 **nvarchar(255)**이며 기본값은 없습니다.
[ @ReportingInterval = ] interval
각 보고 간격의 생성자 퀀텀 수입니다. 보고서는 간격마다 하나의 행을 포함합니다. interval은 int이며 기본값은 1입니다. 기본값은 간격당 하나의 생성자 퀀텀을 나타내는 1입니다.
퀀텀 기간은 ADF(응용 프로그램 정의 파일)에 정의되어 있습니다.
[ @StartDateTime = ] 'start_date_time'
보고서 시작 날짜와 시간(UTC)입니다. start_date_time은 datetime입니다. 기본값은 @EndDateTime - (5 * QuantumDuration * @ReportingInterval)입니다. 기본값을 사용하는 결과 집합에는 최대 5개의 행이 포함되며 각 행은 하나의 보고 간격을 나타냅니다.
[ @EndDateTime = ] 'end_date_time'
보고서 종료 날짜와 시간(UTC)입니다. end_date_time은 datetime입니다. 기본값은 저장 프로시저를 호출하는 시간(UTC)입니다.
반환 코드 값
0(성공) 또는 1(실패)
결과 집합
열 이름 | 데이터 형식 | 설명 |
---|---|---|
IntervalStartDateTime |
datetime |
보고 간격의 시작 날짜와 시간(UTC)입니다. |
IntervalEndDateTime |
datetime |
보고 간격의 종료 날짜와 시간(UTC)입니다. |
EventBatchesCollectedCount |
int |
보고 간격 내에 수집된 이벤트 일괄 처리 수입니다. 보고 간격 동안 수집 프로세스를 완료한 일괄 처리만 개수에 포함됩니다. |
UnfinishedEventBatches |
int |
보고 간격 동안 시작되었지만 완료되지 않은 이벤트 일괄 처리 수입니다. |
AvgEventBatchEventCount |
float |
보고 간격 동안 수집된 이벤트 일괄 처리에 대해 일괄 처리 당 평균 이벤트 수입니다. |
AvgEventsCollectedPerSecond |
float |
보고 간격 동안 수집된 이벤트 일괄 처리에 대해 초 당 수집된 평균 이벤트 수입니다. |
AvgGeneratorPickupWaitPerBatch |
float |
보고 간격 동안 수집된 이벤트 일괄 처리에 대해 생성자가 이벤트 기록 또는 이벤트 구독 규칙을 실행하여 이벤트 일괄 처리를 처리하는 데 걸린 평균 시간(초)입니다. |
AvgEventChronicleRuleFiringTimePerBatch |
float |
보고 간격 동안 수집된 이벤트 일괄 처리에 대해 이벤트 기록 규칙을 실행하는 데 걸린 평균 시간(초)입니다. |
AvgEventSubscriptionRuleFiringTimePerBatch |
float |
보고 간격 동안 수집된 이벤트 일괄 처리에 대해 이벤트 구독 규칙을 실행하는 데 걸린 평균 시간(초)입니다. |
EventNotificationBatchCount |
int |
보고 간격 동안 수집된 이벤트 일괄 처리에서 생성된 알림 일괄 처리 수입니다. |
EventNotificationsGeneratedCount |
int |
보고 간격 동안 수집된 이벤트 일괄 처리에서 생성된 알림 수입니다. |
AvgEventNotificationBatchGenerationTime |
float |
보고 간격 동안 수집된 이벤트 일괄 처리에 대해 생성자가 알림 일괄 처리를 만드는 데 걸린 평균 시간(초)입니다. |
AvgEventNotificationBatchWaitTillDistribution |
float |
보고 간격 동안 수집된 이벤트 일괄 처리에 대해 배포자가 처리할 때까지 알림 일괄 처리가 대기한 평균 시간(초)입니다. |
EventNotificationDeliveryAttempts |
int |
보고 간격 동안 수집된 이벤트에서 만든 알림을 전달하려고 시도한 횟수입니다. |
EventNotificationSuccessfulDeliveries |
int |
보고 간격 동안 수집된 이벤트 일괄 처리에 대해 성공적으로 알림을 전달한 수입니다. |
EventNotificationFailedAttempts |
int |
보고 간격 동안 수집된 이벤트 일괄 처리에 대해 알림 전달에 실패한 시도 횟수입니다. |
EventNotificationsDeliveryNotAttempted |
int |
보고 간격 동안 수집된 이벤트 일괄 처리에 대해 배포자가 아직 전달하려고 시도하지 않은 알림 수입니다. |
EventNotificationsNotYetDelivered |
int |
보고 간격 동안 수집된 이벤트 일괄 처리에 대해 전달하려고 시도하지 않았거나 시도했지만 실패로 인해 아직 전달되지 않은 알림 수입니다. |
EventNotificationToMessageRatio |
float |
보고 간격 동안 수집된 이벤트 일괄 처리에 대해 보내진 메시지에 대한 생성된 알림의 비율입니다. 다이제스트 또는 멀티캐스트 배달의 경우 하나의 메시지에 여러 개의 알림이 포함될 수 있습니다. 이 열은 다이제스트 또는 멀티캐스트 메시지에 평균적으로 몇 개의 알림이 포함되어 있는지 나타냅니다. |
AvgEventNotificationBatchSucceedDeliveryTime |
float |
간격의 이벤트 일괄 처리에서 생성된 알림에 대해 배포 프로세스를 통해 알림을 성공적으로 보낸 평균 시간입니다. |
주의
인스턴스를 만들면 Notification Services 에서 인스턴스 데이터베이스에 NSDiagnosticEventClass 저장 프로시저를 만듭니다. 인스턴스를 업데이트할 경우 Notification Services 는 저장 프로시저를 다시 컴파일합니다.
이 저장 프로시저는 ICF(인스턴스 구성 파일)의 SchemaName 요소가 지정하는 인스턴스 스키마에 있습니다. 제공된 스키마 이름이 없을 경우 기본 스키마는 dbo입니다.
EndCollectionTime 값이 IntervalStartDateTime 값보다 크고 IntervalEndDateTime 값보다 작거나 같은 경우 이벤트 일괄 처리는 보고 간격 내에 속합니다.
현재 UTC 날짜와 시간을 알려면 SQL Server Management Studio 에서 SELECT GETUTCDATE()를 실행합니다. 현재 UTC 시간은 해당 지역의 현재 시간과 SQL Server 가 실행 중인 컴퓨터 운영 체제의 표준 시간대 설정에서 가져옵니다.
사용 권한
실행 권한은 기본적으로 NSAnalysis 데이터베이스 역할, db_owner 고정 데이터베이스 역할 및 sysadmin 고정 서버 역할의 멤버로 설정됩니다.
예
1. 보고 간격, 시작 시간 및 종료 시간 지정
다음 예에서는 Flight 응용 프로그램과 FlightEvents 이벤트 클래스에 대한 이벤트 클래스 진단 보고서를 작성합니다. 인스턴스는 모든 인스턴스 개체를 dbo 스키마에 배치하는 기본 데이터베이스 설정을 사용합니다.
보고서의 각 보고 간격에는 40개의 생성자 퀀텀이 포함되어 있습니다. 이 보고서는 2004년 5월 23일 오후 5:00에 시작하여 같은 날 오후 6:00에 종료합니다(UTC).
EXEC dbo.NSDiagnosticEventClass
@ApplicationName = N'Flight',
@EventClassName = N'FlightEvents',
@ReportingInterval = 40,
@StartDateTime = '2004-05-23 17:00',
@EndDateTime = '2004-05-23 18:00';
2. 기본값과 명명된 스키마 사용
다음 예에서는 Flight 응용 프로그램과 FlightEvents 이벤트 클래스에 대한 이벤트 클래스 진단 보고서를 작성합니다. 이 예에서 저장 프로시저는 다른 모든 인스턴스 개체와 마찬가지로 ICF의 SchemaName 요소에서 지정한 대로 FlightInstance 스키마에 위치합니다.
보고서는 5개의 이전 생성자 퀀텀에 대한 데이터를 표시하도록 지정된 기본값을 사용합니다.
EXEC FlightInstance.NSDiagnosticEventClass
@ApplicationName = N'Flight',
@EventClassName = N'FlightEvents';
참고 항목
참조
Notification Services 저장 프로시저(Transact-SQL)
관련 자료
Notification Services 성능 보고서
SchemaName Element (ICF)