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
Execute sp_helpdistributor para retornar informações sobre o Distribuidor, banco de dados de distribuição e diretório de funcionamento.
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
No Distribuidor, execute sp_changedistributor_property para modificar as propriedades do Distribuidor.
No Distribuidor, execute sp_changedistributiondb para modificar as propriedades do banco de dados de distribuição.
No Distribuidor, execute sp_changedistributor_password para alterar a senha do Distribuidor.
Observação sobre segurançaQuando possível, solicite que os usuários insiram suas credenciais em tempo de execução. Evite armazenar credenciais em um arquivo de script.
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ç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