sys.sp_create_event_stream_group (Transact-SQL)

Aplica-se a: SQL Server 2025 (17.x) Banco de Dados SQL do AzureInstância Gerenciada de SQL do Azurebanco de dados SQL no Microsoft Fabric

Cria um fluxo de grupo de eventos para o recurso de mudança de streaming de eventos (CES) introduzido no SQL Server 2025 (17.x).

Observação

O streaming de eventos de mudança está atualmente em prévia e apresenta diferenças de suporte entre os produtos. Durante a visualização, esse recurso está sujeito a alterações.

Convenções de sintaxe de Transact-SQL

Sintaxe

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 o nome do grupo de fluxo de eventos que você deseja criar. @stream_group_name é sysname, sem padrão e não pode ser NULL.

[ @destination_type = ] N'destination_type'

Especifica o tipo de destino de streaming. @destination_type é sysname, sem padrão e não pode ser NULL.

Importante

O protocolo AMQP está obsoleto. Para novos grupos de streams, use AzureEventHubs (Banco de Dados SQL do Azure) ou AzureEventHubsApacheKafka (Instância Gerenciada de SQL do Azure, SQL Server 2025). Para detalhes, veja deprecação do protocolo AMQP.

@destination_type pode ser um dos seguintes valores:

Valor Compatível com Notes
AzureEventHubs Banco de Dados SQL do Azure,
Banco de dados SQL no Microsoft Fabric
O único valor aceito nessas plataformas. Usa o protocolo Kafka.
AzureEventHubsApacheKafka Instância Gerenciada de SQL do Azure,
SQL Server 2025
Recomendado para novos grupos de stream nessas plataformas. Usa o protocolo Kafka.
AzureEventHubsAmqp Instância Gerenciada de SQL do Azure,
SQL Server 2025
Preterido. Usa o protocolo AMQP. Evite para novos grupos de streams.

[ @destination_location = ] N'destination_location'

Descreve o namespace e o nome da instância dos Hubs de Eventos do Azure. @destination_location é nvarchar(4000), sem padrão e não pode ser NULL.

Para o protocolo Apache Kafka, especifique a porta.

[ @destination_credential = ] N'destination_credential'

Especifica o nome da credencial no escopo do banco de dados a ser usado. @destination_credential é sysname, sem padrão e não pode ser NULL.

[ @max_message_size_kb = ] max_message_size_kb

Se especificado, define o tamanho máximo da mensagem CES em quilobytes. @max_message_size_kb é int, e não pode ser NULL. A mensagem será dividida se exceder o tamanho máximo especificado. Esse parâmetro é opcional.

@max_message_size_kb tem as seguintes características:

Valor Descrição
128 (mínimo) Corresponde a 128 KB
256 (padrão) Corresponde a 256 KB
1024 (máximo) Corresponde a 1 MB

O parâmetro @max_message_size_kb deve se alinhar aos limites do destino. Por exemplo, o tamanho máximo da mensagem para Os Hubs de Eventos do Azure é de 1 MB para as camadas Standard e Premium. Para obter mais informações, consulte as cotas dos Hubs de Eventos do Azure.

[ @partition_key_scheme = ] N'partition_key_scheme'

Define o tipo de particionamento. @partition_key_scheme é sysname e não pode ser NULL.

@partition_key_scheme pode ser um dos seguintes valores:

Valor Descrição
None (padrão) O particionamento não é especificado, portanto, os eventos são atribuídos a partições pelo hub de eventos usando uma estratégia de round robin.
StreamGroup O particionamento é feito pelo grupo de fluxo para que todas as tabelas do grupo de fluxo sejam transmitidas para a mesma partição.
Table O particionamento é feito por tabela para que eventos da mesma tabela no grupo de fluxo tenham garantia de serem enviados para a mesma partição. A chave de particionamento é o identificador interno da tabela.
Column A particionação é feita pelo valor da coluna especificada pelo partition_key_column_name parâmetro. Os eventos são atribuídos às partições com base no valor daquela coluna na linha para a qual o evento é publicado.

[ @partition_key_column_name = ] N'partition_key_column_name'

Define qual coluna usar para particionamento quando @partition_key_scheme é definido como Column. @partition_key_column_name é sysname e não pode ser NULL.

Use um nome de duas partes para a coluna que inclui o nome do esquema e o nome da coluna. Por exemplo, um valor válido é dbo.Addresses.

[ @encoding = ] N'codificação'

Especifica a codificação de mensagem. @encoding é sysname e não pode ser NULL.

@encoding pode ser um dos seguintes valores:

  • JSON (padrão)
  • Binary

Valores do código de retorno

0 (sucesso) ou 1 (falha).

Permissões

Um usuário com CONTROL permissões de banco de dados, db_owner associação de função de banco de dados ou associação de função de servidor sysadmin pode executar esse procedimento.

Exemplos

Um. Create event stream group no Banco de Dados SQL do Azure

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

B. Criar grupo de fluxo de eventos no Instância Gerenciada de SQL do Azure ou SQL Server 2025

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