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)