sys.sp_create_event_stream_group (Transact-SQL)

Si applica a: SQL Server 2025 (17.x) database SQL di Azure

Crea un flusso di gruppo eventi per la funzione di modifica event streaming (CES) introdotta in SQL Server 2025 (17.x).

Annotazioni

Lo streaming degli eventi di modifica è attualmente in anteprima per:

  • SQL Server 2025 (configurazione con ambito di database con funzionalità di anteprima richiesta).
  • database SQL di Azure (funzionalità di anteprima database con configurazione con ambito non richiesta).
  • Istanza gestita di SQL di Azure (con SQL Server 2025 o Always-up-to-date update policy, preview feature database scoped configuration not required). Durante l'anteprima, questa funzionalità è soggetta a modifiche. Per informazioni sul supporto corrente, vedere Limitazioni.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

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

Argomenti

[ @stream_group_name = ] N'stream_group_name'

Specifica il nome del gruppo di flussi di eventi che si desidera creare. @stream_group_name è sysname, senza impostazione predefinita e non può essere NULL.

[ @destination_type = ] N'destination_type'

Specifica il tipo di destinazione del flusso. @destination_type è sysname, senza impostazione predefinita e non può essere NULL.

@destination_type può essere uno dei valori seguenti:

  • AzureEventHubsAmqp
  • AzureEventHubsApacheKafka

[ @destination_location = ] N'destination_location'

Descrive lo spazio dei nomi e il nome dell'istanza di Hub eventi di Azure. @destination_location è nvarchar(4000), senza impostazione predefinita e non può essere NULL.

Per il protocollo Apache Kafka, specificare la porta.

[ @destination_credential = ] N'destination_credential'

Specifica il nome delle credenziali con ambito database da utilizzare. @destination_credential è sysname, senza impostazione predefinita e non può essere NULL.

[ @max_message_size_kb = ] max_message_size_kb

Se specificato, definisce la dimensione massima del messaggio CES in kilobyte. @max_message_size_kb è int e non può essere NULL. Il messaggio viene suddiviso se supera le dimensioni massime specificate. Questo parametro è facoltativo.

@max_message_size_kb presenta le caratteristiche seguenti:

Valore Descrizione
128 (minimo) Corrisponde a 128 KB
256 (impostazione predefinita) Corrisponde a 256 KB
1024 (massimo) Corrisponde a 1 MB

Il parametro @max_message_size_kb deve essere allineato ai limiti della destinazione. Ad esempio, la dimensione massima dei messaggi per Hub eventi di Azure è di 1 MB per i livelli Standard e Premium. Per altre informazioni, vedere Quote di Hub eventi di Azure.

[ @partition_key_scheme = ] N'partition_key_scheme'

Definisce il tipo di partizionamento. @partition_key_scheme è sysname e non può essere NULL.

@partition_key_scheme può essere uno dei valori seguenti:

Valore Descrizione
None (impostazione predefinita) Il partizionamento non viene specificato, quindi gli eventi vengono assegnati alle partizioni dall'hub eventi usando una strategia round robin.
StreamGroup Il partizionamento viene eseguito dal gruppo di flusso in modo che tutte le tabelle del gruppo di flusso vengano trasmessi alla stessa partizione.
Table La partizionazione avviene tramite tabella, in modo che gli eventi provenienti dalla stessa tabella nel gruppo di flusso siano garantiti di essere inviati alla stessa partizione. La chiave di partizionamento è l'identificatore interno della tabella.
Column La partizione avviene tramite il valore della colonna specificata dal partition_key_column_name parametro. Gli eventi vengono assegnati alle partizioni in base al valore di quella colonna nella riga per cui l'evento è stato pubblicato.

[ @partition_key_column_name = ] N'partition_key_column_name'

Definisce la colonna da usare per il partizionamento quando @partition_key_scheme è impostata Columnsu . @partition_key_column_name è sysname e non può essere NULL.

Usare un nome in due parti per la colonna che include sia il nome dello schema che il nome della colonna. Ad esempio, un valore valido è dbo.Addresses.

[ @encoding = ] N'encoding'

Specifica la codifica dei messaggi. @encoding è sysname e non può essere NULL.

@encoding può essere uno dei valori seguenti:

  • JSON (impostazione predefinita)
  • Binary

Valori del codice restituito

0 (esito positivo) o 1 (errore).

Autorizzazioni

Un utente con CONTROL autorizzazioni di database, db_owner appartenenza al ruolo del database o l'appartenenza al ruolo del server sysadmin può eseguire questa procedura.

Esempi

Un. Creare un gruppo di flussi di eventi che esegue lo streaming in Hub eventi di Azure con il protocollo 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. Creare un gruppo di flussi di eventi che esegue lo streaming in Hub eventi di Azure con il protocollo 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;