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)