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)