Compartilhar via


sys.sp_create_event_stream_group (Transact-SQL)

Aplica-se a: SQL Server 2025 (17.x) Banco de Dados SQL do Azure

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 alteração está atualmente em versão prévia para:

Durante a visualização, esse recurso está sujeito a alterações. Para obter suporte atual, consulte Limitaçõ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.

@destination_type pode ser um dos seguintes valores:

  • AzureEventHubsAmqp
  • AzureEventHubsApacheKafka

[ @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 cada tabela no grupo de fluxo seja transmitida para uma partição diferente.
Column O particionamento é feito por coluna para que cada coluna no grupo de fluxo seja transmitida para uma partição diferente.

[ @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. Criar um grupo de fluxo de eventos que é transmitido para os Hubs de Eventos do Azure com o 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. Criar um grupo de fluxo de eventos que é transmitido para os Hubs de Eventos do Azure com o 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;