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


NSDiagnosticNotificationClass (Transact-SQL)

Формирует отчет класса уведомлений для приложения служб MicrosoftSQL ServerNotification Services. В отчете содержатся данные о числе уведомлений и пакетов уведомлений, обработанных этим классом уведомлений, и о том, происходит ли успешная доставка этих уведомлений.

Синтаксис

[ schema_name . ] NSDiagnosticNotificationClass 
    [ @ApplicationName = ] 'app_name' ,
    [ @NotificationClassName = ] 'notification_class_name' 
    [, [ @ReportingInterval = ] interval ] 
    [, [ @StartDateTime = ] 'start_date_time' ] 
    [, [ @EndDateTime = ] 'end_date_time' ] 

Аргументы

  • [ @ApplicationName=] 'app_name'
    Имя приложения, как оно определено в файле конфигурации. Аргумент app_name имеет тип nvarchar(255) и не имеет значения по умолчанию.
  • [ @NotificationClassName=] 'notification_class_name'
    Имя класса уведомлений, как оно определено в файле определения приложения (ADF-файл). Аргумент notification_class_name имеет тип nvarchar(255) и не имеет значения по умолчанию.
  • [ @ReportingInterval=] interval
    Число тактов генератора в каждом интервале составления отчета. На каждый интервал в отчете приходится одна строка. Аргумент interval имеет тип int и значение по умолчанию, равное 1, что означает один такт генератора на интервал.

    Продолжительность такта определена в файле определения приложения (application definition file, ADF).

  • [ @StartDateTime=] 'start_date_time'
    Дата и время начала отчета в формате UTC. Аргумент start_date_time имеет тип datetime. Значение по умолчанию, равное (5 * QuantumDuration * @ReportingInterval) перед значением @EndDateTime. При использовании значения по умолчанию результирующий набор содержит не более пяти строк, каждая из которых соответствует одному периоду составления отчета.
  • [ @EndDateTime=] 'end_date_time'
    Дата и время завершения отчета в формате UTC. Аргумент end_date_time имеет тип datetime. Принимаемое по умолчанию значение — результат выполнения функции GETUTCDAT, которая возвращает время вызова хранимой процедуры.

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

0 (успешное завершение) или 1 (неуспешное завершение)

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

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

IntervalStartDateTime

datetime

Начальные дата и время в формате UTC для периода составления отчета.

IntervalEndDateTime

datetime

Конечные дата и время в формате UTC для периода составления отчета.

NotificationBatchesGenerated

int

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

NotificationsGenerated

int

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

NotificationsGeneratedPerSecond

float

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

AvgNotificationBatchWaitTillDistribution

float

Среднее время ожидания приема распространителем пакета уведомлений в период составления отчета (для класса уведомлений).

NotificationDeliveryAttempts

int

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

NotificationSuccessfulDeliveries

int

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

NotificationFailedAttempts

int

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

NotificationsDeliveryNotAttempted

int

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

NotificationsNotYetDelivered

int

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

NotificationToMessageRatio

float

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

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

AvgNotificationBatchSucceedDeliveryTime

float

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

Замечания

Службы Notification Services создают хранимую процедуру NSDiagnosticNotificationClass в базе данных экземпляра при формировании этого экземпляра. Когда производится обновление этого экземпляра, службы Notification Services выполняют повторную компиляцию хранимой процедуры.

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

Пакеты уведомлений попадают в период составления отчета, когда значение параметра EndGenerationTime больше, чем значение параметра IntervalStartDateTime и меньше или равно значению параметра IntervalEndDateTime.

Чтобы определить текущую дату и время в формате UTC, выполните инструкцию SELECT GETUTCDATE() в среде SQL Server Management Studio. Текущее время в формате UTC получается из текущего местного времени и настройки часового пояса в операционной системе компьютера, на котором запущен SQL Server.

Разрешения

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

Примеры

A. Указание интервала составления отчета, значения начального и конечного времени

В следующем примере создается диагностический отчет класса уведомлений для приложения Flight и класс уведомлений FlightNotifications. Этот экземпляр использует настройки базы данных по умолчанию, в соответствии с которыми все объекты экземпляра помещаются в схему dbo.

В этом отчете каждый интервал составления отчета содержит 60 тактов генератора. Отчет начинается в 17:00 23 мая 2002 года и заканчивается в 18:00 того же дня:

EXEC dbo.NSDiagnosticNotificationClass 
    @ApplicationName = N'Flight', 
    @NotificationClassName = N'FlightNotifications', 
    @ReportingInterval = 60, 
    @StartDateTime = '2004-05-23 17:00', 
    @EndDateTime = '2004-05-23 18:00';

Б. Использование значений по умолчанию, именованная схема

В следующем примере создается диагностический отчет класса уведомлений для приложения Flight и класс уведомлений FlightNotifications. В этом примере хранимая процедура (как и все остальные объекты экземпляра) находится в схеме FlightInstance, как указано в элементе SchemaName ICF-файла.

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

EXEC FlightInstance.NSDiagnosticNotificationClass 
    @ApplicationName = N'Flight', 
    @NotificationClassName = N'FlightNotifications';

См. также

Справочник

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

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

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

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

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