分享方式:


sp_changedistributor_property (Transact-SQL)

適用於:SQL ServerAzure SQL 受控執行個體

變更散發者的屬性。 此預存程式會在任何資料庫的散發者端執行。 對於遠端散發者,此預存程序必須在連線到遠端散發者的所有發行者伺服器上執行。

如果散發或發行者資料庫位於可用性群組中,則預存程序必須在 所有 散發者和發行者節點上執行,而不論其目前在可用性群組中的角色為何。

Transact-SQL 語法慣例

語法

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

引數

[ @property = ] N'property'

指定散發者的屬性。 @propertysysname,可以是下列其中一個值:

屬性名稱 可接受的值 Description
heartbeat_interval 任何 整數 值 (以分鐘為單位) 代理程式可在不記錄進度訊息的情況下執行的最大分鐘數。 @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'

指定散發者屬性的值。 @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 中的遠端分發器破壞變更

權限

只有系統管理員固定伺服器角色的成員才能執行 sp_changedistributor_property