适用于: SQL Server 2025 (17.x)
Azure SQL 数据库
为 SQL Server 2025(17.x)和 Azure SQL 数据库引入 的变更事件流(CES) 特性,向流组添加一个对象(即表)。
注释
更改事件流目前以 预览 版提供:
- SQL Server 2025(需要预览功能数据库范围的配置)。
- Azure SQL 数据库(不需要预览功能数据库范围配置)。
在预览期间,此功能可能会更改。 有关当前可支持性,请参阅 “限制”。
语法
sp_add_object_to_event_stream_group
[ @stream_group_name = ] N'stream_group_name'
, [ @object_name ] = N'schema_name_dot_object_name'
[ , [ @include_all_columns ] = include_all_columns ]
[ , [ @include_old_values ] = include_old_values ]
[ , [ @include_old_lob_values ] = include_old_lob_values ]
论据
[ @stream_group_name = ] N'stream_group_name'
指定要向其添加表的事件流组的名称。
@stream_group_name 是 sysname,不能 NULL。
[ @object_name ] = N'schema_name_dot_object_name'
指定要作为指定流组的一部分流式传输的表的名称。
@object_name 是 nvarchar(512),不能 NULL。
对包含架构名称和列名的列使用由两部分构成的名称。 例如,有效值为 dbo.Addresses.
[ @include_all_columns ] = include_all_columns
定义要在消息有效负载中包含哪些列,该有效负载流式传输对指定表所做的更改。
@include_all_columns是位的,不能NULL。
@include_all_columns 可以是以下值之一:
| 价值 | DESCRIPTION |
|---|---|
1(默认值) |
包括消息有效负载中的所有列,这些列流式传输对指定表所做的更改。 |
0 |
仅包括消息有效负载中已更改的列,这些列流式传输对指定表所做的更改。 |
[ @include_old_values ] = include_old_values
如果指定,则确定旧值是否包含在消息的有效负载中,该有效负载流式传输对指定表所做的更改。
@include_old_values是位的,不能NULL。 此参数是可选的。
旧值是更改前列的值。 例如,如果更新行,旧值是更新前列的值。
@include_old_values 可以是下列项之一:
| 价值 | DESCRIPTION |
|---|---|
1(默认值) |
在消息的有效负载中包含旧值,这些值流式传输对指定表所做的更改。 |
0 |
跳过消息有效负载中的旧值,该有效负载流式传输对指定表所做的更改。 |
[ @include_old_lob_values ] = include_old_lob_values
确定旧更改的大型对象(LOB)值是否包含在消息的有效负载中,该有效负载流式传输对指定表所做的更改。 “@include_old_lob_values* 是位的,不能 NULL。
旧值是更改前列的值。 例如,如果更新行,旧值是更新前列的值。
“@include_old_lob_values* 可以是以下值之一:
| 价值 | DESCRIPTION |
|---|---|
1 |
包括消息有效负载中的所有列,这些列流式传输对指定表所做的更改。 |
0(默认值) |
仅包括消息有效负载中已更改的列,这些列流式传输对指定表所做的更改。 |
返回代码值
0(成功)或 1(失败)。
权限
具有 CONTROL 数据库权限、 db_owner 数据库角色成员身份或 sysadmin 服务器角色成员身份的用户可以执行此过程。