Compartir a través de


sys.sp_create_event_stream_group (Transact-SQL)

Se aplica a: SQL Server 2025 (17.x) Azure SQL Database

Crea un flujo de grupo de eventos para la función de transmisión de eventos de cambio (CES) introducida en SQL Server 2025 (17.x).

Nota:

El streaming de eventos de cambio se encuentra actualmente en versión preliminar para:

Durante la versión preliminar, esta característica está sujeta a cambios. Para obtener compatibilidad actual, consulte Limitaciones.

Convenciones de sintaxis de Transact-SQL

Sintaxis

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' ]
[ ; ]

Argumentos

[ @stream_group_name = ] N'stream_group_name'

Especifica el nombre del grupo de secuencias de eventos que desea crear. @stream_group_name es sysname, sin valor predeterminado y no puede ser NULL.

[ @destination_type = ] N'destination_type'

Especifica el tipo de destino de streaming. @destination_type es sysname, sin ningún valor predeterminado y no puede ser NULL.

@destination_type puede ser uno de los siguientes valores:

  • AzureEventHubsAmqp
  • AzureEventHubsApacheKafka

[ @destination_location = ] N'destination_location'

Describe el espacio de nombres y el nombre de instancia de Azure Event Hubs. @destination_location es nvarchar(4000), sin ningún valor predeterminado y no puede ser NULL.

Para el protocolo Apache Kafka, especifique el puerto.

[ @destination_credential = ] N'destination_credential'

Especifica el nombre de credencial con ámbito de base de datos que se va a usar. @destination_credential es sysname, sin valor predeterminado y no puede ser NULL.

[ @max_message_size_kb = ] max_message_size_kb

Si se especifica, define el tamaño máximo del mensaje CES en kilobytes. @max_message_size_kb es int y no puede ser NULL. El mensaje se divide si supera el tamaño máximo especificado. Este parámetro es opcional.

@max_message_size_kb tiene las siguientes características:

Importancia Descripción
128 (mínima) Corresponde a 128 KB
256 (valor predeterminado) Corresponde a 256 KB
1024 (máxima) Corresponde a 1 MB

El parámetro @max_message_size_kb debe alinearse con los límites del destino. Por ejemplo, el tamaño máximo del mensaje para Azure Event Hubs es de 1 MB para los niveles Estándar y Premium. Para más información, consulte Cuotas de Azure Event Hubs.

[ @partition_key_scheme = ] N'partition_key_scheme'

Define el tipo de creación de particiones. @partition_key_scheme es sysname y no puede ser NULL.

@partition_key_scheme puede ser uno de los siguientes valores:

Importancia Descripción
None (valor predeterminado) No se especifica la creación de particiones, por lo que el centro de eventos asigna los eventos a las particiones mediante una estrategia round robin.
StreamGroup La creación de particiones se realiza por grupo de secuencias para que todas las tablas del grupo de secuencias se transmitan a la misma partición.
Table La creación de particiones se realiza mediante una tabla para que cada tabla del grupo de secuencias se transmita a una partición diferente.
Column La creación de particiones se realiza mediante columna para que cada columna del grupo de secuencias se transmita a una partición diferente.

[ @partition_key_column_name = ] N'partition_key_column_name'

Define la columna que se va a usar para la creación de particiones cuando @partition_key_scheme se establece en Column. @partition_key_column_name es sysname y no puede ser NULL.

Use un nombre de dos partes para la columna que incluya tanto el nombre de esquema como el nombre de columna. Por ejemplo, un valor válido es dbo.Addresses.

[ @encoding = ] N'encoding'

Especifica la codificación del mensaje. @encoding es sysname y no puede ser NULL.

@encoding puede ser uno de los siguientes valores:

  • JSON (valor predeterminado)
  • Binary

Valores de código de retorno

0 (correcto) o 1 (erróneo).

Permisos

Un usuario con CONTROL permisos de base de datos, db_owner pertenencia a roles de base de datos o pertenencia a roles de servidor sysadmin puede ejecutar este procedimiento.

Ejemplos

Un. Creación de un grupo de flujos de eventos que transmite a Azure Event Hubs con el protocolo 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;

B. Creación de un grupo de flujos de eventos que transmite a Azure Event Hubs con el protocolo 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;