更改分发服务器的属性。 此存储过程在分发服务器上的任何数据库中执行。 对于远程分发服务器,需要在连接到远程分发服务器的所有发布服务器上执行此存储过程。
如果分发或发布服务器数据库位于可用性组中,则需要 在所有 分发服务器和发布服务器节点上执行存储过程,而不考虑它们在可用性组中的当前角色。
语法
sp_changedistributor_property
[ [ @property = ] N'property' ]
[ , [ @value = ] N'value' ]
[ ; ]
参数
[ @property = ] N'property'
给定分发服务器的属性。 @property 是 sysname,可以是以下值之一:
| 属性名称 | 可接受的值 | 说明 |
|---|---|---|
heartbeat_interval |
任何 int 值(以分钟为单位) | 在不记录进度消息的情况下代理可以运行的最大分钟数。
@heartbeat_interval为 int,默认为10分钟数。 |
encrypt_distributor_connection |
mandatory、optional、strict、true、false、yes、no |
指定分发服务器和其他复制组件之间的加密类型。 适用于: SQL Server 2025 (17.x) 预览版和更高版本。 |
trust_distributor_certificate |
yes、no |
指定是否信任分发服务器用于加密连接的证书。 默认值为 no。适用于: SQL Server 2025 (17.x) 预览版和更高版本。 |
host_name_in_distributor_certificate |
任意字符串 | 指定分发服务器的证书中预期的主机名。 适用于: SQL Server 2025 (17.x) 预览版和更高版本。 |
NULL(默认值) |
打印所有可用的 @property 值。 |
注释
安全默认值与基础 OLEDB 提供程序 19 相关,可增强安全性。 替代默认值的选项比将实例配置为使用受信任的证书不太安全。 重写默认值后,可以选择将 SQL Server 配置为使用证书,然后使用 sp_changedistributor_property 存储过程将 trust_distributor_certificate=no 属性设置回安全默认值。
[ @value = ] N'value'
给定分发服务器属性的值。
@value 为 nvarchar(255),默认值为 NULL.
返回代码值
0(成功)或 1(失败)。
注解
sp_changedistributor_property 用于所有类型的复制。
示例
-- Change the heartbeat interval at the Distributor to 5 minutes.
USE master
exec sp_changedistributor_property
@property = N'heartbeat_interval',
@value = 5;
GO
将分发服务器配置为信任自签名证书
若要替代 OLEDB 提供程序 19 的安全默认值并设置 trust_distributor_certificate=yes ,以便分发服务器信任自签名证书,请使用以下示例:
EXECUTE sp_changedistributor_property
@property = N'trust_distributor_certificate',
@value = N'yes';
注释
安全默认值与基础 OLEDB 提供程序 19 相关,可增强安全性。 替代默认值的选项比将实例配置为使用受信任的证书不太安全。 重写默认值后,可以选择将 SQL Server 配置为使用证书,然后使用 sp_changedistributor_property 存储过程将 trust_distributor_certificate=no 属性设置回安全默认值。
有关详细信息,请查看 SQL Server 2025 预览版中的远程分发服务器中断性变更。
权限
只有 sysadmin 固定服务器角色的成员才能执行sp_changedistributor_property。