Cómo ver y modificar las propiedades del publicador y del distribuidor (programación de la replicación con Transact-SQL)

Las propiedades del publicador y del distributor se pueden ver mediante programación usando procedimientos almacenados de replicación.

Para ver las propiedades de la base de datos de distribución

  1. Ejecute sp_helpdistributor para devolver información sobre el Distribuidor, la base de datos de distribución y el directorio de trabajo.

  2. Ejecute sp_helpdistributiondb para devolver propiedades de una base de datos de distribución especificada.

Para cambiar las propiedades de la base de datos de distribución y el distribuidor

  1. En el distribuidor, ejecute sp_changedistributor_property para modificar las propiedades del distribuidor.

  2. En el distribuidor, ejecute sp_changedistributor_property para modificar las propiedades del distribuidor.

  3. En el distribuidor, ejecute sp_changedistributor_password para cambiar la contraseña del distribuidor.

    Nota de seguridadNota de seguridad

    Cuando sea posible, pida a los usuarios que proporcionen sus credenciales en tiempo de ejecución. No guarde las credenciales en un archivo de script.

  4. En el distribuidor, ejecute sp_changedistpublisher para cambiar las propiedades de un Publicador usando el Distribuidor.

Ejemplo

El siguiente script de Transact-SQL ejemplo devuelve información acerca del Distribuidor y la base de datos de distribución.

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

Este ejemplo cambia los períodos de retención para el Distribuidor, la contraseña usada al conectar al Distribuidor y el intervalo en el que el Distribuidor comprueba el estado de distintos agentes de replicación (también conocido como intervalo de latidos).

Nota de seguridadNota de seguridad

Cuando sea posible, pida a los usuarios que proporcionen credenciales de seguridad en tiempo de ejecución. Si debe almacenar credenciales en un archivo de script, protéjalo para evitar el acceso no 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