适用于: 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 事件中心命名空间和实例名称。
@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 事件中心的最大消息大小是标准层和高级层的 1 MB。 若要了解详细信息,请查看 Azure 事件中心配额。
[ @partition_key_scheme = ] N'partition_key_scheme'
定义分区的类型。
@partition_key_scheme 是 sysname,不能 NULL
。
@partition_key_scheme 可以是以下值之一:
价值 | DESCRIPTION |
---|---|
None (默认值) |
未指定分区,因此事件中心 使用轮循策略将事件分配给分区。 |
StreamGroup |
分区由流组完成,以便流组中的所有表都流式传输到同一分区。 |
Table |
分区由表完成,以便流组中的每个表流式传输到不同的分区。 |
Column |
分区由列完成,以便流组中的每一列都流式传输到不同的分区。 |
[ @partition_key_column_name = ] N'partition_key_column_name'
定义 在@partition_key_scheme 设置为 Column
@partition_key_scheme时用于分区的列。
@partition_key_column_name 是 sysname,不能 NULL
。
对包含架构名称和列名的列使用由两部分构成的名称。 例如,有效值为 dbo.Addresses
.
[ @encoding = ] N'encoding'
指定消息编码。
@encoding 是 sysname,不能 NULL
。 可以是以下其中一个值:
-
JSON
(默认值) Binary
返回代码值
0
(成功)或 1
(失败)。
权限
具有 CONTROL 数据库权限、 db_owner 数据库角色成员身份或 sysadmin 服务器角色成员身份的用户可以执行此过程。
例子
答: 使用 AMQP 协议创建流式传输到 Azure 事件中心的事件流组
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 事件中心的事件流组
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;