Поделиться через


NSNotificationBatchDetails (Transact-SQL)

Изменения: 14 апреля 2006 г.

Создает отчет о подробностях пакета уведомления для приложения служб Microsoft SQL Server Notification Services. Отчет содержит сведения об указанном пакете уведомлений, такие как обработка правила, которое создало пакет и уведомления, содержащиеся в пакете. Используйте эту хранимую процедуру для диагностики создания уведомлений и для анализа движения уведомлений в приложении.

Синтаксис

[ application_schema_name . ] NSNotificationBatchDetails 
    [ @NotificationClassName = ] 'notification_class_name',
    [ @NotificationBatchId = ] notification_batch_id

Аргументы

  • [ @NotificationClassName = ] 'notification_class_name'
    Имя класса уведомления. Аргумент notification_class_name имеет тип nvarchar(255) и не имеет значения по умолчанию.
  • [ @NotificationBatchId = ] notification_batch_id
    Уникальный идентификатор, используемый для опознавания пакета уведомлений. Аргумент notification_batch_id имеет тип bigint и не имеет значения по умолчанию.

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

Нет

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

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

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

RuleFiringId

int

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

StartGenerationTime

datetime

Время и дата начала формирования пакета уведомлений по UTC (универсальное синхронизированное время или среднее время по Гринвичу).

EndGenerationTime

datetime

Дата и время окончания формирования пакета уведомлений в формате UTC.

GenerationTimeInMS

int

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

NotificationBatchExpirationTime

datetime

Дата и время истечения срока действия пакета уведомлений в формате UTC. После истечения срока действия все уведомления, оставшиеся недоставленными, отменяются. Попытки доставки этих уведомлений не повторятся, независимо от расписания повторных попыток. Если это значение равно NULL, пакет не имеет времени истечения срока.

NotificationCount

int

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

StatusDescription

nvarchar(255)

Текущее состояние пакета уведомлений.

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

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

DeliveryChannelName

nvarchar(255)

Имя канала доставки.

LastDistributionStartTime

datetime

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

NotificationsWithNoDeliveryAttempt

int

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

NotificationsSuccessfullyDelivered

int

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

NotificationsFailedToDeliver

int

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

RetryCount

int

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

NextRetryTime

datetime

Время следующей попытки распространителя доставить уведомления из данного пакета уведомлений по данному каналу доставки.

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

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

NotificationId

bigint

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

SubscriberId

nvarchar(255)

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

DeviceName

nvarchar(255)

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

SubscriberLocale

nvarchar(10)

Имя языкового стандарта для уведомления.

DeliveryStatus

nvarchar(255)

Описание текущего состояния доставки для уведомления.

SentTime

datetime

Дата и время в формате UTC, когда закончилась последняя попытка доставки этого уведомления. Если это значение равно NULL, попытка доставки уведомления либо не была предпринята, либо еще не завершена.

LinkedParentNotification

bigint

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

DeliveryChannel

nvarchar(255)

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

DeliveryAttempts

int

Количество попыток доставки этого уведомления.

Notification_class_field_name

приложение определено

Имя поля класса уведомления, определенное в файле определения приложения (ADF). Каждое поле в классе уведомления представлено столбцом в результирующем наборе.

Замечания

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

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

Разрешения

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

Примеры

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

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

EXEC dbo.NSNotificationBatchDetails 
    @NotificationClassName = N'StockNotifications', 
    @NotificationBatchId = 1;

См. также

Справочник

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

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

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

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

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

Журнал изменений

Версия Журнал

14 апреля 2006 г.

Измененное содержимое:
  • Исправлены описания столбцов во втором результирующем наборе.