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


NSDiagnosticDeliveryChannel (Transact-SQL)

Создает отчет о канале доставки для приложения Microsoft SQL Server Notification Services. Этот отчет помогает проанализировать активность канала доставки и недоставленные уведомления.

Синтаксис

[ schema_name . ] NSDiagnosticDeliveryChannel 
    [ @ApplicationName = ] 'app_name' ,
    [ @DeliveryChannelName = ] 'delivery_channel_name' 
    [, [@ReportingInterval = ] interval ] 
    [, [@StartDateTime = ] 'start_date_time' ] 
    [, [@EndDateTime = ] 'end_date_time' ] 

Аргументы

  • [ @ApplicationName = ] 'app_name'
    Имя приложения служб Notification Services, определенное в файле конфигурации. Аргумент app_name имеет тип nvarchar(255) и не имеет значения по умолчанию.
  • [ @DeliveryChannelName = ] 'delivery_channel_name'
    Имя канала доставки, определенное в файле конфигурации. Аргумент delivery_channel_name имеет тип nvarchar(255) и не имеет значения по умолчанию.
  • [ @ReportingInterval = ] interval
    Число тактов генератора в каждом интервале составления отчета. Отчет содержит по одной строке на интервал. Аргумент interval имеет тип int и значение по умолчанию, равное 1, которое обозначает один такт генератора на интервал.

    Длительность такта определена в файле определения приложения (ADF).

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

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

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

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

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

IntervalStartDateTime

datetime

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

IntervalEndDateTime

datetime

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

NotificationBatchesDelivered

int

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

NotificationDeliveryAttempts

int

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

NotificationSuccessfulDeliveries

int

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

NotificationAttemptsFailed

int

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

NotificationToMessageRatio

float

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

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

Замечания

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

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

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

Разрешения

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

Примеры

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

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

В каждой строке отчета содержится 50 тактов генератора. Отчет начинается в 17.00 23 мая 2004 года и заканчивается в 18.00 того же дня:

EXEC dbo.NSDiagnosticDeliveryChannel 
    @ApplicationName = N'Flight', 
    @DeliveryChannelName = N'FileChannel', 
    @ReportingInterval = 50, 
    @StartDateTime = '2004-05-23 17:00',
    @EndDateTime = '2004-05-23 18:00';

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

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

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

EXEC FlightInstance.NSDiagnosticDeliveryChannel 
    @ApplicationName = N'Flight', 
    @DeliveryChannelName = N'FileChannel';

См. также

Справочник

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

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

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

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

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