sp_changedistributor_property(Transact-SQL)

适用于:SQL ServerAzure SQL 托管实例

更改分发服务器的属性。 此存储过程在分发服务器上的任何数据库中执行。 对于远程分发服务器,需要在连接到远程分发服务器的所有发布服务器上执行此存储过程。

如果分发或发布服务器数据库位于可用性组中,则需要 在所有 分发服务器和发布服务器节点上执行存储过程,而不考虑它们在可用性组中的当前角色。

Transact-SQL 语法约定

语法

sp_changedistributor_property
    [ [ @property = ] N'property' ]
    [ , [ @value = ] N'value' ]
[ ; ]

参数

[ @property = ] N'property'

给定分发服务器的属性。 @propertysysname,可以是以下值之一:

属性名称 可接受的值 说明
heartbeat_interval 任何 int 值(以分钟为单位) 在不记录进度消息的情况下代理可以运行的最大分钟数。 @heartbeat_interval为 int,默认为10分钟数。
encrypt_distributor_connection mandatoryoptionalstricttruefalseyesno 指定分发服务器和其他复制组件之间的加密类型。

适用于: SQL Server 2025 (17.x) 预览版和更高版本。
trust_distributor_certificate yesno 指定是否信任分发服务器用于加密连接的证书。 默认值为 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'

给定分发服务器属性的值。 @valuenvarchar(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