sys.sp_create_event_stream_group (Transact-SQL)

Si applica a: SQL Server 2025 (17.x) Database SQL di AzureIstanza gestita di SQL di AzureDatabase SQL in Microsoft Fabric

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 e presenta differenze di supportabilità tra i prodotti. Durante l'anteprima, questa funzionalità è soggetta a modifiche.

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.

Importante

Il protocollo AMQP è obsoleto. Per nuovi gruppi di stream, usa AzureEventHubs (database SQL di Azure) oppure AzureEventHubsApacheKafka (Istanza gestita di SQL di Azure, SQL Server 2025). Per dettagli, vedi deprecazione del protocollo AMQP.

@destination_type può essere uno dei valori seguenti:

Valore Supportato su Note
AzureEventHubs database SQL di Azure,
Database SQL di Microsoft Fabric
L'unico valore accettato su queste piattaforme. Usa il protocollo Kafka.
AzureEventHubsApacheKafka Istanza gestita di SQL di Azure,
SQL Server 2025
Consigliato per nuovi gruppi di stream su queste piattaforme. Usa il protocollo Kafka.
AzureEventHubsAmqp Istanza gestita di SQL di Azure,
SQL Server 2025
Deprecated. Utilizza il protocollo AMQP. Evitare per i nuovi gruppi di streaming.

[ @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. Create event stream group su database SQL di 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. Crea un gruppo di stream eventi su Istanza gestita di SQL di Azure o 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;