次の方法で共有


sys.sp_create_event_group_stream (Transact-SQL)

適用対象: SQL Server 2025 (17.x) プレビュー

SQL Server 2025 (17.x) プレビューで導入された 変更イベント ストリーミング (CES) 機能のイベント グループ ストリームを作成します。

変更イベント ストリーミングは現在、SQL Server 2025 の プレビュー段階 です。

Transact-SQL 構文表記規則

構文

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

論争

[ @stream_group_name = ] N'stream_group_name'

作成するイベント ストリーム グループの名前を指定します。 @stream_group_namesysname であり、 NULLすることはできません。

[ @destination_type = ] N'destination_type'

ストリーミング先の種類を指定します。 @destination_typesysname であり、 NULLすることはできません。 次のいずれかの値を指定できます。 AzureEventHubsAmqp または AzureEventHubsApacheKafka

[ @destination_location = ] N'destination_location'

Azure Event Hubs 名前空間とインスタンス名について説明します。 @destination_locationnvarchar(4000)であり、 NULLすることはできません。

Apache Kafka プロトコルの場合は、ポートを指定します。

[ @destination_credential = ] N'destination_credential'

使用するデータベース スコープの資格情報名を指定します。 @destination_credentialsysname であり、 NULLすることはできません。

[ @max_message_size_kb = ] max_message_size_kb

指定した場合、最大 CES メッセージ サイズをキロバイで定義します。 @max_message_size_kbint であり、 NULLすることはできません。 指定した最大サイズを超えた場合、メッセージは分割されます。 このパラメーターは省略可です。

@max_message_size_kb には、次の特性があります。

  • 既定値: 256 (256 KB に対応)
  • 最小値: 128 (128 KB に対応)
  • 最大許容値: 1024 (1 MB に対応)

@max_message_size_kb パラメーターは、宛先の制限に合わせる必要があります。 たとえば、Azure Event Hubs の最大メッセージ サイズは、Standard レベルと Premium レベルでは 1 MB です。 詳細については、 Azure Event Hubs のクォータを確認してください

[ @partition_key_scheme = ] N'partition_key_scheme'

パーティション分割の種類を定義します。 @partition_key_schemesysname であり、 NULLすることはできません。

@partition_key_scheme には、次のいずれかの値を指定できます。

価値 説明
None (既定値) パーティション分割は指定されていないため、イベントは ラウンド ロビン戦略を使用してイベント ハブによってパーティションに割り当てられます。
StreamGroup パーティション分割はストリーム グループによって行われ、ストリーム グループ内のすべてのテーブルが同じパーティションにストリーミングされます。
Table パーティション分割は、ストリーム グループ内の各テーブルが別のパーティションにストリーミングされるように、テーブルによって行われます。
Column パーティション分割は、ストリーム グループ内の各列が別のパーティションにストリーミングされるように、列によって行われます。

[ @partition_key_column_name = ] N'partition_key_column_name'

@partition_key_schemeColumnに設定されている場合にパーティション分割に使用する列を定義します。 @partition_key_column_namesysname であり、 NULLすることはできません。

スキーマ名と列名の両方を含む列には、2 部構成の名前を使用します。 たとえば、有効な値は dbo.Addresses

[ @encoding = ] N'encoding'

メッセージのエンコードを指定します。 @encodingsysname であり、 NULLすることはできません。 次のいずれかの値を指定できます。

  • JSON (既定値)
  • Binary

リターン コードの値

0 (成功) または 1 (失敗)。

権限

CONTROL データベース権限db_owner データベース ロール メンバーシップ、または sysadmin サーバー ロール メンバーシップを持つユーザーは、この手順を実行できます。

例示

A。 AMQP プロトコルを使用して Azure Event Hubs にストリーム配信するイベント ストリーム グループを作成する

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. Kafka プロトコルを使用して Azure Event Hubs にストリーム配信するイベント ストリーム グループを作成する

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;