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


sys.sp_create_event_group_stream (Transact-SQL)

Применимо к: Предварительная версия SQL Server 2025 (17.x)

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

Замечание

Потоковая передача событий изменений в настоящее время доступна в предварительной версии ДЛЯ SQL Server 2025 (17.x).

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

Синтаксис

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_type является sysname и не может быть NULL. Может быть одним из следующих значений: AzureEventHubsAmqpAzureEventHubsApacheKafka

[ @destination_location = ] N'destination_location'

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

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

[ @destination_credential = ] N'destination_credential'

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

[ @max_message_size_kb = ] max_message_size_kb

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

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

  • Значение по умолчанию: 256 (соответствует 256 КБ)
  • Минимально допустимое значение: 128 (соответствует 128 КБ)
  • Максимально допустимое значение: 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. Может быть одним из следующих значений:

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

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

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

Разрешения

Пользователь с разрешениями базы данных CONTROL, членством в роли базы данных db_owner или членством на сервере 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;