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


NSAdministrationHistory (Transact-SQL)

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

Синтаксис

[ schema_name . ] NSAdministrationHistory 
    [  [ @ApplicationName = ] 'app_name' ],
    [, [ @ReportingIntervalInMinutes = ] interval ] 
    [, [ @StartDateTime = ] 'start_date_time' ] 
    [, [ @EndDateTime = ] 'end_date_time' ] 

Аргументы

  • [ @ApplicationName = ] 'app_name'
    Имя приложения служб Notification Services, определенное в файле конфигурации экземпляра (ICF). Аргумент app_name имеет тип nvarchar(255) и значение по умолчанию NULL, являющееся признаком получения отчета по всем приложениям, размещенным на экземпляре.
  • [ @ReportingIntervalInMinutes = ] interval
    Количество минут в каждом интервале отчета. Отчет содержит одну строку для каждого интервала. Аргумент interval имеет тип int и значение по умолчанию 60, задающее длину отчетного интервала 60 минут.
  • [ @StartDateTime = ] 'start_date_time'
    Дата и время начала отчета в формате UTC. Аргумент start_date_time имеет тип datetime и значение по умолчанию, равное значению, на один месяц меньшему, чем значение @EndDateTime.
  • [ @EndDateTime = ] 'end_date_time'
    Дата и время конца отчета по UTC. Аргумент end_date_time имеет тип данных datetime. Значение по умолчанию является результатом функции GETUTCDATE, возвращающей время запуска хранимой процедуры.

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

Нет

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

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

ApplicationName

nvarchar(255)

Имя приложения, по строкам которого подводятся итоги. Значение равно NULL для строки, в которой подводятся итоги по экземпляру.

IntervalStartDateTime

datetime

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

IntervalEndDateTime

datetime

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

EventBatchCollectedCount

int

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

EventsCollectedCount

int

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

EventsCollectedPerSecond

float

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

EventBatchesAwaitingGeneration

int

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

EventBatchesInCollection

int

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

NotificationBatchGeneratedCount

int

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

NotificationsGeneratedCount

int

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

NotificationsGeneratedPerSecond

float

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

NotificationBatchesInGeneration

int

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

NotificationBatchesAwaitingDistribution

int

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

NotificationsSuccessfulDeliveredCount

int

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

NotificationsFailedDeliveryCount

int

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

WorkItemsInProgress

int

Количество рабочих элементов, распространенных за время отчетного интервала.

SubscriptionsAddedCount

int

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

ScheduledSubscriptionsAdded

int

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

SubscriptionsModified

int

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

SubscribersAddedCount

int

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

SubscriberDevicesAddedCount

int

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

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

SubscriberDevicesModifiedCount

int

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

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

Замечания

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

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

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

Для определения текущей даты и времени по UTC выполните запрос SELECT GETUTCDATE() на языке Transact-SQL. Текущее время по UTC вычисляется из текущего местного времени и установок временной зоны операционной системы компьютера.

Разрешения

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

Примеры

А. Журнал администрирования приложения Flight

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

Отчетный интервал равен 120 минутам. Отчет начинается 22 сентября 2004 года в 11.30 и заканчивается в 14.30 того же дня.

EXEC dbo.NSAdministrationHistory 
    @ApplicationName = N'Flight', 
    @ReportingIntervalInMinutes = 120, 
    @StartDateTime = '2004-09-22 11:30:00', 
    @EndDateTime = '2004-09-22 14:30:00';

Б. Журнал администрирования всех приложений

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

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

EXEC FlightInstance.NSAdministrationHistory;

См. также

Справочник

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

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

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

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

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