sys.sp_create_event_stream_group (Transact-SQL)

Применимо к:База данных SQL Azure 2025 (17.x)

Создаёт поток группы событий для функции потока событий изменений (CES ), введённой в SQL Server 2025 (17.x).

Замечание

Потоковая передача событий изменений в настоящее время доступна в предварительной версии для:

Соглашения о синтаксисе Transact-SQL

Синтаксис

sys.sp_create_event_stream_group
    [ @stream_group_name = ] N'stream_group_name'
    , [ @destination_type = ] N'destination_type'
    , [ @destination_location = ] N'destination_location'
    , [ @destination_credential = ] N'destination_credential'
    [ , [ @max_message_size_kb = ] max_message_size_kb ]
    [ , [ @partition_key_scheme = ] N'partition_key_scheme' ]
    [ , [ @partition_key_column_name = ] N'partition_key_column_name' ]
    [ , [ @encoding = ] N'encoding' ]
[ ; ]

Аргументы

[ @stream_group_name = ] N'stream_group_name'

Указывает имя создаваемой группы потоков событий. @stream_group_name является sysname, без значения по умолчанию и не может быть NULL.

[ @destination_type = ] N'destination_type'

Указывает тип назначения потоковой передачи. @destination_typesysname, без значения по умолчанию и не может быть NULL.

@destination_type может быть одним из следующих значений:

  • AzureEventHubsAmqp
  • AzureEventHubsApacheKafka

[ @destination_location = ] N'destination_location'

Описывает пространство имен Центров событий Azure и имя экземпляра. @destination_location является nvarchar(4000), без значения по умолчанию и не может быть NULL.

Для протокола Apache Kafka укажите порт.

[ @destination_credential = ] N'destination_credential'

Указывает используемое имя учетных данных в области базы данных. @destination_credentialsysname, без значения по умолчанию и не может быть NULL.

[ @max_message_size_kb = ] max_message_size_kb

Если задано, определяет максимальный размер сообщения CES в килобайтах. @max_message_size_kb является int, и не может быть NULL. Сообщение разделено, если оно превышает указанный максимальный размер. Это необязательный параметр.

@max_message_size_kb имеет следующие характеристики:

Ценность Описание
128 (минимум) Соответствует 128 КБ
256 (по умолчанию) Соответствует 256 КБ
1024 (максимум) Соответствует 1 МБ

Параметр @max_message_size_kb должен соответствовать ограничениям назначения. Например, максимальный размер сообщения для Центров событий Azure составляет 1 МБ для уровней "Стандартный" и "Премиум". Дополнительные сведения см. в статье о квотах Центров событий Azure.

[ @partition_key_scheme = ] N'partition_key_scheme'

Определяет тип секционирования. @partition_key_scheme является sysname и не может быть NULL.

@partition_key_scheme может быть одним из следующих значений:

Ценность Описание
None (по умолчанию) Секционирование не указано, поэтому события назначаются секциям концентратора событий с помощью стратегии циклического перебора.
StreamGroup Секционирование выполняется с помощью группы потоков, чтобы все таблицы в группе потоков передаются в одну секцию.
Table Секционирование выполняется по таблицам, чтобы каждая таблица в группе потоков передается в другую секцию.
Column Секционирование выполняется по столбцам, чтобы каждый столбец в группе потоков передается в другую секцию.

[ @partition_key_column_name = ] N'partition_key_column_name'

Определяет, какой столбец используется для секционирования при установке Column. @partition_key_column_name является sysname и не может быть NULL.

Используйте двухпартийное имя столбца, включающее имя схемы и имя столбца. Например, допустимое значение dbo.Addresses.

[ @encoding = ] N'кодировка'

Задает кодировку сообщения. @encoding является sysname и не может быть NULL.

@encoding может быть одним из следующих значений:

  • JSON (по умолчанию)
  • Binary

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

0 (успешно) или 1 (сбой).

Разрешения

Пользователь с разрешениями базы данных, CONTROL в роли базы данных или членством в роли сервера sysadmin может выполнять эту процедуру.

Примеры

А. Создание группы потоков событий, которая передается в Центры событий Azure с помощью протокола AMQP

EXECUTE sys.sp_create_event_stream_group
    @stream_group_name = N'myStreamGroup',
    @destination_type = N'AzureEventHubsAmqp',
    @destination_location = N'myEventHubsNamespace.servicebus.windows.net/myEventHubsInstance',
    @destination_credential = MyDatabaseScopedCredentialForCes;

В. Создание группы потоков событий, которая передается в Центры событий Azure с помощью протокола Kafka

EXECUTE sys.sp_create_event_stream_group
    @stream_group_name = N'myStreamGroup',
    @destination_type = N'AzureEventHubsAmqp',
    @destination_location = N'myEventHubsNamespace.servicebus.windows.net:9093/myEventHubsInstance',
    @destination_credential = MyDatabaseScopedCredentialForCes;