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


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)

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

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