Como exibir e modificar propriedades do Publicador e do Distribuidor (Programação Transact-SQL de replicação)

As propriedades do Publicador e do Distribuidor podem ser exibidas programaticamente usando os procedimentos armazenados de replicação.

Para exibir as propriedades do banco de dados de distribuição e do Distribuidor

  1. Execute sp_helpdistributor para retornar informações sobre o Distribuidor, banco de dados de distribuição e diretório de funcionamento.

  2. Execute sp_helpdistributiondb para retornar propriedades de um banco de dados de distribuição especificado.

Para alterar as propriedades do banco de dados de distribuição e do Distribuidor

  1. No Distribuidor, execute sp_changedistributor_property para modificar as propriedades do Distribuidor.

  2. No Distribuidor, execute sp_changedistributiondb para modificar as propriedades do banco de dados de distribuição.

  3. No Distribuidor, execute sp_changedistributor_password para alterar a senha do Distribuidor.

    Observação sobre segurançaObservação sobre segurança

    Quando possível, solicite que os usuários insiram suas credenciais em tempo de execução. Evite armazenar credenciais em um arquivo de script.

  4. No Distribuidor, execute sp_changedistpublisher para alterar as propriedades de um Publicador usando o Distribuidor.

Exemplo

O seguinte exemplo de script Transact-SQL retorna as informações sobre o Distribuidor e o banco de dados de distribuição.

-- 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

Esse exemplo altera os períodos de retenção para o Distribuidor, a senha usada quando conectando-se ao Distribuidor, e o intervalo no qual o Distribuidor verifica o status de vários agentes de replicação (também conhecidos como intervalo de heartbeat).

Observação sobre segurançaObservação sobre segurança

Quando possível, solicite que os usuários insiram as credenciais de segurança em tempo de execução. Se for necessário armazenar credenciais em um arquivo de script, você deverá proteger o arquivo para evitar o acesso não autorizado.

-- 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