如何查看和修改发布服务器和分发服务器属性(复制 Transact-SQL 编程)

发布服务器和分发服务器属性可以使用复制存储过程以编程方式进行查看。

查看分发服务器和分发数据库属性

  1. 执行 sp_helpdistributor 可返回有关分发服务器、分发数据库和工作目录的信息。

  2. 执行 sp_helpdistributiondb 可返回指定的分发数据库的属性。

更改分发服务器和分发数据库属性

  1. 在分发服务器上,执行 sp_changedistributor_property 可修改分发服务器属性。

  2. 在分发服务器上,执行 sp_changedistributiondb 可修改分发数据库属性。

  3. 在分发服务器上,执行 sp_changedistributor_password 可更改分发服务器密码。

    安全说明安全说明

    如果可能,请在运行时提示用户输入其凭据。 不要将凭据存储在脚本文件中。

  4. 在分发服务器上,执行 sp_changedistpublisher,以便使用分发服务器更改发布服务器的属性。

示例

下面的示例 Transact-SQL 脚本返回有关分发服务器和分发数据库的信息。

-- View information about the Distributor, distribution database, 
-- working directory, and SQL Server Agent user account. 
USE master
EXEC sp_helpdistributor;
GO
-- View information about the specified distribution database. 
USE distribution
EXEC sp_helpdistributiondb;
GO

该示例更改分发服务器的保持期、连接到分发服务器时使用的密码以及分发服务器检查各种复制代理的状态时采用的时间间隔(也称为检测信号时间间隔)。

安全说明安全说明

如果可能,请在运行时提示用户输入安全凭据。 如果必须在脚本文件中存储凭据,则必须保护文件以防止未经授权的访问。

-- Change the heartbeat interval at the Distributor to 5 minutes. 
USE master 
exec sp_changedistributor_property 
    @property = N'heartbeat_interval', 
    @value = 5;
GO
DECLARE @distributionDB AS sysname;
SET @distributionDB = N'distribution';

-- Change the history retention period to 24 hours and the
-- maximum retention period to 48 hours.  
USE distribution
EXEC sp_changedistributiondb @distributionDB, N'history_retention', 24
EXEC sp_changedistributiondb @distributionDB, N'max_distretention', 48
GO 
-- Change the password on the Distributor. 
-- To avoid storing the password in the script file, the value is passed 
-- into SQLCMD as a scripting variable. For information about how to use 
-- scripting variables on the command line and in SQL Server Management
-- Studio, see the "Executing Replication Scripts" section in the topic
-- "Programming Replication Using System Stored Procedures".
USE master
EXEC sp_changedistributor_password $(Password)
GO