NSDiagnosticEventProvider (Transact-SQL)
Формирует отчет поставщика событий для приложения служб Microsoft SQL Server Notification Services. Этот отчет содержит сведения о событиях, собранные при помощи указанного поставщика событий.
Синтаксис
[ schema_name . ] NSDiagnosticEventProvider
[ @ApplicationName = ] 'app_name' ,
[ @EventProviderName = ] 'event_provider_name'
[, [ @ReportingInterval = ] interval ]
[, [ @StartDateTime = ] 'start_date_time' ]
[, [ @EndDateTime = ] 'end_date_time' ]
Аргументы
- [ @ApplicationName = ] 'app_name'
Имя приложения, соответствующее имени, указанному в файле конфигурации. Этот аргумент имеет тип nvarchar(255) и не имеет значения по умолчанию.
- [ @EventProviderName = ] 'event_provider_name'
Имя поставщика событий в приложении. Этот аргумент имеет тип nvarchar(255) и не имеет значения по умолчанию.
[ @ReportingInterval = ] interval
Число тактов генератора в каждом интервале составления отчета. Отчет содержит по одной строке на интервал. Аргумент interval имеет тип int и значение по умолчанию 1, что соответствует одному такту генератора на интервал.Длительность такта определена в файле определения приложения (application definition file, ADF).
- [ @StartDateTime = ] 'start_date_time'
Начальные дата и время отчета в формате UTC. Этот аргумент имеет тип datetime. По умолчанию он имеет значение @EndDateTime – (5 * QuantumDuration * @ReportingInterval). При использовании значения по умолчанию результирующий набор содержит максимум пять строк, каждая из которых соответствует одному интервалу составления отчета.
- [ @EndDateTime = ] 'end_date_time'
Конечные дата и время отчета в формате UTC. Этот аргумент имеет тип datetime. Значение по умолчанию — время, когда была запущена хранимая процедура (в формате UTC).
Значения кодов возврата
0 (успешное завершение) или 1 (неуспешное завершение)
Результирующие наборы
Имя столбца | Тип данных | Описание |
---|---|---|
IntervalStartDateTime |
datetime |
Дата и время начала составления отчета в формате UTC. |
IntervalEndDateTime |
datetime |
Дата и время окончания составления отчета в формате UTC. |
EventBatchesSubmitted |
int |
Число пакетов событий, переданных поставщиком событий во время интервала составления отчета. |
EventsSubmitted |
int |
Число событий, переданных поставщиком событий во время интервала составления отчета. |
AvgTimeCollectingEvents |
float |
Среднее время сбора событий поставщиком событий в течение интервала составления отчета (в секундах). |
UnfinishedEventBatches |
int |
Число пакетов событий, которые поставщик событий начал, но не закончил обрабатывать во время интервала составления отчета. |
Замечания
Службы Notification Services создает хранимую процедуру NSDiagnosticEventProvider в базе данных экземпляра при его создании. Когда производится обновление этого экземпляра, службы Notification Services заново компилируют хранимую процедуру.
Эта хранимая процедура находится в схеме экземпляра, указанной в элементе SchemaName файла конфигурации экземпляра (ICF). Если имя схемы не задано, схемой по умолчанию является dbo.
Пакеты событий попадают в интервал составления отчета, если значение EndCollectionTime больше, чем IntervalStartDateTime, и меньше или равно IntervalEndDateTime.
Для определения текущей даты и времени в формате UTC следует выполнить функцию SELECT GETUTCDATE() в среде SQL Server Management Studio. Текущее время в формате UTC получается из текущего местного времени и настройки часового пояса в операционной системе компьютера, на котором выполняется SQL Server.
Разрешения
По умолчанию разрешениями на выполнение этой процедуры обладают члены роли NSAnalysis базы данных, фиксированной роли db_owner базы данных и фиксированной серверной роли sysadmin.
Примеры
А. Указание интервала, времени начала и времени окончания составления отчета
В данном примере создается отчет диагностики поставщика событий для приложения Flight и поставщика событий FlightEP. В данном экземпляре действуют настройки базы данных, принятые по умолчанию, в соответствии с которыми все объекты экземпляра помещаются в схему dbo.
Для этого отчета каждый интервал составления отчета содержит 50 тактов генератора. Отчет начинается в 17:00 23 мая 2004 года и заканчивается в 18:00 того же дня (формат UTC).
EXEC dbo.NSDiagnosticEventProvider
@ApplicationName = N'Flight',
@EventProviderName = N'FlightEP',
@ReportingInterval = 50,
@StartDateTime = '2004-05-23 17:00',
@EndDateTime = '2004-05-23 18:00';
Б. Использование значений по умолчанию и именованной схемы
В данном примере создается отчет диагностики поставщика событий для приложения Flight и поставщика событий FlightEP. В этом примере хранимая процедура (как и все остальные объекты экземпляра) находится в схеме FlightInstance, как указано в элементе SchemaName файла конфигурации экземпляра.
Для этого отчета используются значения по умолчанию, в соответствии с которыми должны быть показаны данные для пяти последних тактов генератора.
EXEC FlightInstance.NSDiagnosticEventProvider
@ApplicationName = N'Flight',
@EventProviderName = N'FlightEP';
См. также
Справочник
Хранимые процедуры служб Notification Services (Transact-SQL)
Другие ресурсы
Отчеты о производительности служб Notification Services
SchemaName Element (ICF)