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


NSEventSubmitBatch<EventClassName> (Transact-SQL)

Создает новый пакет событий, получает набор событий из запроса, отправляет эти события, по выбору выполняет запрос пост-обработки и затем закрывает пакет событий. Использование запроса в качестве источника событий позволяет одновременно передавать несколько событий, в отличие от хранимой процедуры NSEventWriteEventClassName.

Синтаксис

[ schema_name . ] SEventSubmitBatchEventClassName
    [ @ProviderName = ] 'event_provider_name',
    [ @EventsQuery = ] 'selection_query',
    [ @PostQuery = ] 'post_processing_query' 

Аргументы

  • [ @ProviderName = ] 'provider_name'
    Имя поставщика событий, предоставившего события. Аргумент provider_name имеет тип nvarchar(255) и должен быть одним из поставщиков событий, указанных в файле определения приложения (ADF-файл).
  • [ @EventsQuery = ] 'selection_query'
    Текст запроса на языке Transact-SQL, используемого для выбора записей, которые будут предоставлены в качестве событий. Схема записей, формируемая запросом, должна совпадать со схемой таблицы событий, в которую они отправляются. Аргумент selection_query имеет тип nvarchar(4000).
  • [ @PostQuery = ] 'post_processing_query'
    Текст запроса на языке Transact-SQL, используемого для любых операций завершающей очистки или запоминания состояния, таких как обновление таблиц хроники или удаление временных объектов. Аргумент post_processing_query имеет тип nvarchar(4000).

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

0 (успешное завершение) или 1 (неуспешное завершение)

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

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

EventCount

bigint

Количество событий, отправленных в пакет событий. Это количество извлекается с помощью запроса к таблице событий.

Замечания

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

Данная хранимая процедура находится в схеме приложения, определенной элементом SchemaName файла определения приложения (ADF-файл). Если имя схемы не задано, схемой по умолчанию является dbo.

Чтобы передать приложению отдельные события с помощью языка Transact-SQL, можно воспользоваться инструкциями NSEventBeginBatchEventClassName для открытия пакета, NSEventWriteEventClassName для записи отдельных событий и NSEventFlushBatchEventClassName для закрытия пакета событий.

Разрешения

Разрешения на запуск по умолчанию имеют члены ролей NSEventProvider и NSRunService базы данных, фиксированной роли базы данных db_owner и фиксированной серверной роли sysadmin.

Примеры

В следующем примере показано, как использовать хранимую процедуру NSEventSubmitBatchStockEvents для получения названий и котировок акций из таблицы Stocks базы данных Market, а затем записать данные в таблицу NSStockEventsEvents. Этот запрос задает пустой запрос пост-обработки.

Приложение использует настройки по умолчанию SchemaName, которые помещают все объекты приложения в схему dbo.

EXEC dbo.NSEventSubmitBatchStockEvents
    @ProviderName = N'StockEP', 
    @EventsQuery = 'SELECT StockSymbol, StockPrice 
                    FROM Market.dbo.Stocks', 
    @PostQuery = '';

См. также

Справочник

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

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

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

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

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