適用対象: SQL Server 2025 (17.x) プレビュー
SQL Server 2025 (17.x) プレビューで導入された 変更イベント ストリーミング (CES) 機能のイベント グループ ストリームを作成します。
注
変更イベント ストリーミングは現在、SQL Server 2025 の プレビュー段階 です。
構文
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_name は sysname であり、 NULL
することはできません。
[ @destination_type = ] N'destination_type'
ストリーミング先の種類を指定します。
@destination_type は sysname であり、 NULL
することはできません。 次のいずれかの値を指定できます。 AzureEventHubsAmqp
または AzureEventHubsApacheKafka
[ @destination_location = ] N'destination_location'
Azure Event Hubs 名前空間とインスタンス名について説明します。
@destination_location は nvarchar(4000)であり、 NULL
することはできません。
Apache Kafka プロトコルの場合は、ポートを指定します。
[ @destination_credential = ] N'destination_credential'
使用するデータベース スコープの資格情報名を指定します。
@destination_credential は sysname であり、 NULL
することはできません。
[ @max_message_size_kb = ] max_message_size_kb
指定した場合、最大 CES メッセージ サイズをキロバイで定義します。
@max_message_size_kb は int であり、 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_scheme は sysname であり、 NULL
することはできません。
@partition_key_scheme には、次のいずれかの値を指定できます。
価値 | 説明 |
---|---|
None (既定値) |
パーティション分割は指定されていないため、イベントは ラウンド ロビン戦略を使用してイベント ハブによってパーティションに割り当てられます。 |
StreamGroup |
パーティション分割はストリーム グループによって行われ、ストリーム グループ内のすべてのテーブルが同じパーティションにストリーミングされます。 |
Table |
パーティション分割は、ストリーム グループ内の各テーブルが別のパーティションにストリーミングされるように、テーブルによって行われます。 |
Column |
パーティション分割は、ストリーム グループ内の各列が別のパーティションにストリーミングされるように、列によって行われます。 |
[ @partition_key_column_name = ] N'partition_key_column_name'
@partition_key_schemeがColumn
に設定されている場合にパーティション分割に使用する列を定義します。
@partition_key_column_name は sysname であり、 NULL
することはできません。
スキーマ名と列名の両方を含む列には、2 部構成の名前を使用します。 たとえば、有効な値は dbo.Addresses
。
[ @encoding = ] N'encoding'
メッセージのエンコードを指定します。
@encoding は sysname であり、 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;