NSQuantumDetails (Transact-SQL)

Возвращает подробные сведения о такте. Эту хранимую процедуру следует использовать для решения проблем с длительным исполнением тактов или для анализа выполнения тактов.

Синтаксис

[ schema_name . ] NSQuantumDetails 
    [ @QuantumId = ] quantum_id

Аргументы

  • [ @QuantumId = ] quantum_id
    Идентификатор такта для отчета. Аргумент quantum_id имеет тип int и не имеет значения по умолчанию. Для получения идентификаторов тактов используются хранимые процедуры NSQuantumList, NSQuantumExecutionTime и NSQuantumFailures.

Значения кодов возврата

Нет

Результирующие наборы

NSQuantumDetails производит пять результирующих наборов. Первый результирующий набор содержит общие сведения о такте.

Имя столбца Тип данных Описание

QuantumStartTime

datetime

Время (в формате UTC) начала временного интервала, представляемого тактом.

QuantumEndTime

datetime

Время по Гринвичу (UTC) завершения временного интервала, представляемого тактом; время завершения — это время начала такта плюс длительность такта.

QuantumStatusDescription

nvarchar(255)

Текст, описывающий текущее состояние такта.

ExecutionTimeInMS

int

Время в миллисекундах до завершения обработки такта.

ExecutionStartTime

datetime

Фактическая дата и время по Гринвичу, когда генератор начал обработку такта.

ExecutionEndTime

datetime

Фактическая дата и время по Гринвичу, когда генератор завершил обработку такта.

EventNotificationsGenerated

bigint

Во время выполнения такта было сформировано несколько уведомлений от правил, запущенных событием.

ScheduledNotificationsGenerated

bigint

Количество уведомлений, созданных во время выполнения такта правилами подписок по расписанию.

ChronicleRuleFiringsSkipped

nvarchar(255)

Показывает, были ли обработки правил хроники событий пропущены во время данного такта

SubscriptionRuleFiringsSkipped

nvarchar(255)

Показывает, были ли обработки правил подписки пропущены во время данного такта

Второй результирующий набор содержит информацию об обработке правил в такте.

Имя столбца Тип данных Описание

RuleFiringId

int

Уникальный идентификатор правила, которое обрабатывается во время выполнения такта.

RuleName

nvarchar(255)

Имя правила согласно файлу определения приложения (ADF).

ExecutionTimeInMS

int

Время в миллисекундах до завершения обработки правила.

PercentageQuantumTime

numeric(7, 4)

Процент общего времени выполнения тактов, используемый на обработку правила.

ExecutionStartTime

datetime

Дата и время по Гринвичу (UTC) начала обработки правила.

ExecutionEndTime

datetime

Дата и время по Гринвичу (UTC) окончания обработки правила.

RuleTypeDescription

nvarchar(250)

Описывает тип правила, которое было выполнено; тип может быть хроникой события, подпиской по событию или плановой подпиской.

EventClassName

nvarchar(255)

Имя класса события для событий, обработанных в ходе обработки правила. Если тип обработки правила является плановой подпиской, то этот столбец имеет значение NULL, так как эти правила не управляются событиями.

EventCount

bigint

Количество событий, обработанных правилом.

EventBatchId

bigint

Идентификатор пакета событий, содержащего события, обработанные в ходе обработки правила. Если тип обработки правила является плановой подпиской или если значение ProcessEventsInOrder в ADF-файле равно false, то столбец содержит значение NULL, так как обработка правила могла обработать множество пакетов событий.

SubscriptionClassName

nvarchar(255)

Имя класса подписки для подписок, обработанных во время обработки правила. Если тип обработки правила является хроникой событий, то этот столбец имеет значение NULL.

SubscriptionCount

bigint

Приблизительное количество подписок, обработанных правилом. Значение является приблизительным и основано на текущем состоянии подписок в базе данных приложения. Во время фактической обработки правила база данных может содержать большее или меньшее число подписок.

StartScanTime

datetime

Дата и время по Гринвичу (UTC) начала плановых подписок, используемых правилом. Этот столбец содержит значение только в том случае, когда типом правила является плановая подписка, а приложение обрабатывает события по очереди.

EndScanTime

datetime

Дата и время по Гринвичу (UTC) завершения плановых подписок, используемых правилом. Этот столбец содержит значение только в том случае, когда типом правила является плановая подписка, а приложение обрабатывает события по очереди.

NotificationsGenerated

int

Число уведомлений, сформированных при обработке правила.

Третий результирующий набор содержит информацию о пакетах событий, собранных в ходе такта.

Имя столбца Тип данных Описание

EventClassName

nvarchar(255)

Имя класса событий, передавшего пакет событий.

EventBatchId

bigint

Идентификатор пакета событий.

EventCount

bigint

Количество событий в пакете.

StartCollectionTime

datetime

Дата и время по Гринвичу (UTC) начала сбора пакета событий.

EndCollectionTime

datetime

Дата и время по Гринвичу (UTC) окончания сбора пакета событий.

CollectionTimeInMS

int

Общее время сбора пакета событий в миллисекундах.

ProviderName

nvarchar(255)

Имя поставщика событий, представившего пакет событий. Это значение равно NULL, если события были непосредственно вставлены в представление <EventClassName>.

SystemName

nvarchar(255)

Имя системы, на которой выполняется поставщик событий. Это значение равно NULL для внепроцессных поставщиков событий или если события были непосредственно вставлены в представление <EventClassName>.

Четвертый результирующий набор содержит информацию о подписках, обработанных во время такта.

Имя столбца Тип данных Описание

SubscriptionClassName

nvarchar(255)

Имя класса подписки, для которого подписки были обработаны во время такта.

EventSubscriptionCount

bigint

Оценка количества активных управляемых событиями подписок для класса подписки в течение такта.

ScheduledSubscriptionCount

bigint

Оценка количества активных плановых подписок для класса подписки в течение такта.

Пятый отчет содержит сведения об уведомлениях, сформированных в течение такта.

Имя столбца

Тип данных

Описание

NotificationClassName

nvarchar(255)

Имя класса уведомлений, к которому относятся уведомления в пакете.

NotificationBatchId

bigint

Уникальный идентификатор пакета уведомлений, сформированный обработкой правила во время такта.

RuleFiringId

int

Уникальный идентификатор обработки правила, вызвавшей пакет уведомлений.

NotificationCount

int

Количество уведомлений в пакете уведомлений.

NotificationDeliveryAttempts

int

Количество попыток, предпринятых для доставки уведомлений из пакета уведомлений.

ms186227.note(ru-ru,SQL.90).gifПримечание.

Если уведомление передано протоколу доставки, но протокол доставки не вернул его состояние, то попытка доставки уведомления не засчитывается.

NotificationSuccessfulDeliveries

int

Количество успешно доставленных уведомлений из пакета уведомлений.

NotificationFailedAttempts

int

Количество недоставленных уведомлений из пакета уведомлений.

NotificationsDeliveryNotAttempted

int

Количество уведомлений, которые распространитель еще не пытался доставить.

NotificationsNotYetDelivered

int

Количество уведомлений, которые еще не были успешно доставлены распространителем.

NotificationToMessageRatio

float

Отношение сформированных уведомлений к отправленным сообщениям.

При сводной или многоадресной доставке одно сообщение может включать несколько уведомлений. Этот столбец показывает, сколько уведомлений в среднем включено в сводные или многоадресные сообщения.

AvgNotificationBatchSucceedDeliveryTime

float

Среднее время в секундах, затраченное для успешной посылки уведомлений за весь период распространения.

Замечания

Службы Notification Services создают хранимую процедуру NSQuantumDetails в базе данных приложения при создании экземпляра. При обновлении приложения службы Notification Services перекомпилируют хранимую процедуру.

Данная хранимая процедура находится в схеме приложения, которая задана элементом SchemaName файла определения приложения (ADF-файл). Если имя схемы не задано, то схемой по умолчанию является dbo.

После получения высокоуровневых сведений о такте возможен дальнейший анализ такта с помощью следующих хранимых процедур:

Разрешения

По умолчанию права на исполнение даются членам ролей базы данных NSAnalysis и db_owner и членам фиксированной серверной роли sysadmin.

Примеры

В следующем примере создается пять результирующих наборов, описанных ранее в этом разделе, для первого такта генератора приложения:

Приложение использует настройки SchemaName по умолчанию, которые помещают все объекты приложения в схему dbo.

EXEC dbo.NSQuantumDetails 
    @QuantumId = 1;

См. также

Справочник

Хранимые процедуры служб Notification Services (Transact-SQL)
NSEventBatchDetails (Transact-SQL)
NSNotificationBatchDetails (Transact-SQL)
NSScheduledSubscriptionDetails (Transact-SQL)

Другие ресурсы

Отчеты о производительности служб Notification Services
SchemaName Element (ADF)

Справка и поддержка

Получение помощи по SQL Server 2005