Partilhar via


sys.sp_create_event_stream_group (Transact-SQL)

Aplica-se a: SQL Server 2025 (17.x) Azure SQL Database

Cria um fluxo de grupo de eventos para a funcionalidade de alterar streaming de eventos (CES) introduzida no SQL Server 2025 (17.x).

Observação

O streaming de eventos de mudança está atualmente em pré-visualização para:

Durante a visualização, esse recurso está sujeito a alterações. Para saber mais sobre a capacidade de suporte atual, consulte Limitações.

Transact-SQL convenções de sintaxe

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 com 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 kilobytes. @max_message_size_kb é int, e não pode ser NULL. A mensagem é dividida se exceder o tamanho máximo especificado. Este 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 estar alinhado com os limites do destino. Por exemplo, o tamanho máximo de mensagem para Hubs de Eventos do Azure é de 1 MB para as camadas Standard e Premium. Para mais informações, consulte quotas do Azure Event Hubs.

@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 às partições pelo hub de eventos usando uma estratégia round-robin.
StreamGroup O particionamento é feito por grupo de fluxos para que todas as tabelas no grupo de fluxos 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 fluxos 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 estiver definido como Column. @partition_key_column_name é sysname e não pode ser NULL.

Use um nome de duas partes para a coluna que inclua 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 da mensagem. @encoding é sysname e não pode ser NULL.

@encoding pode ser um dos seguintes valores:

  • JSON (padrão)
  • Binary

Valores de código de retorno

0 (sucesso) ou 1 (fracasso).

Permissões

Um utilizador com CONTROL permissões de base de dados, db_owner pertença a um papel de base de dados ou a um servidor sysadmin pode executar este procedimento.

Exemplos

Um. Criar grupo de fluxo de eventos que transmite 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 grupo de fluxo de eventos que transmite para 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;