sp_adddistributor (Transact-SQL)

Crea una entrada en la tabla sys.sysservers (si no hay ninguna), marca la entrada del servidor como un distribuidor y almacena la información de propiedades. Este procedimiento almacenado se ejecuta en el distribuidor de la base de datos maestra para registrar y marcar el servidor como un distribuidor. En el caso de un distribuidor remoto, se ejecuta también en el publicador desde la base de datos maestra para registrar el distribuidor remoto.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

sp_adddistributor [ @distributor= ] 'distributor' 
    [ , [ @heartbeat_interval= ] heartbeat_interval ] 
    [ , [ @password= ] 'password' ] 
    [ , [ @from_scripting= ] from_scripting ]

Argumentos

  • [ @distributor= ] 'distributor'
    Es el nombre del servidor de distribución. distributor es de tipo sysname y no tiene ningún valor predeterminado. Este parámetro se utiliza únicamente si se está configurando un distribuidor remoto. Agrega entradas para las propiedades del distribuidor en la tabla msdb..MSdistributor.

  • [ @heartbeat_interval=] heartbeat_interval
    Es el número máximo de minutos que un agente puede ejecutarse sin registrar un mensaje de progreso. heartbeat_interval es de tipo int con un valor predeterminado de 10 minutos. Se crea un trabajo del Agente SQL Server que se ejecuta en este intervalo para comprobar el estado de los agentes de replicación que se están ejecutando.

  • [ @password=] 'password']
    Es la contraseña del inicio de sesión de distributor_admin login. password es de tipo sysname y su valor predeterminado es NULL. Si es NULL o una cadena vacía, la contraseña se restablece a un valor aleatorio. La contraseña debe configurarse cuando se agrega el primer distribuidor remoto. distributor_admin login y password se almacenan para las entradas del servidor vinculado utilizadas para una conexión RPC de distributor, incluidas las conexiones locales. Si distributor es local, la contraseña de distributor_admin se establece en un valor nuevo. Para los publicadores con un distribuidor remoto, se debe especificar el mismo valor para password al ejecutar sp_adddistributor tanto en el publicador como en el distribuidor. sp_changedistributor_password se puede utilizar para cambiar la contraseña del distribuidor.

    Nota de seguridadNota de seguridad

    Cuando sea posible, pida a los usuarios que proporcionen credenciales de seguridad en tiempo de ejecución. Si es necesario almacenar credenciales en un archivo de scripts, debe proteger el archivo para evitar el acceso no autorizado.

  • [ @from_scripting= ] from_scripting
    Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

Valores de código de retorno

0 (correcto) o 1 (error)

Comentarios

sp_adddistributor se utiliza en la replicación de instantáneas, transaccional y de mezcla.

Ejemplo

-- This script uses sqlcmd scripting variables. They are in the form
-- $(MyVariable). 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".

-- Install the Distributor and the distribution database.
DECLARE @distributor AS sysname;
DECLARE @distributionDB AS sysname;
DECLARE @publisher AS sysname;
DECLARE @directory AS nvarchar(500);
DECLARE @publicationDB AS sysname;
-- Specify the Distributor name.
SET @distributor = $(DistPubServer);
-- Specify the distribution database.
SET @distributionDB = N'distribution';
-- Specify the Publisher name.
SET @publisher = $(DistPubServer);
-- Specify the replication working directory.
SET @directory = N'\\' + $(DistPubServer) + '\repldata';
-- Specify the publication database.
SET @publicationDB = N'AdventureWorks2008R2'; 

-- Install the server MYDISTPUB as a Distributor using the defaults,
-- including autogenerating the distributor password.
USE master
EXEC sp_adddistributor @distributor = @distributor;

-- Create a new distribution database using the defaults, including
-- using Windows Authentication.
USE master
EXEC sp_adddistributiondb @database = @distributionDB, 
    @security_mode = 1;
GO

-- Create a Publisher and enable AdventureWorks2008R2 for replication.
-- Add MYDISTPUB as a publisher with MYDISTPUB as a local distributor
-- and use Windows Authentication.
DECLARE @distributionDB AS sysname;
DECLARE @publisher AS sysname;
-- Specify the distribution database.
SET @distributionDB = N'distribution';
-- Specify the Publisher name.
SET @publisher = $(DistPubServer);

USE [distribution]
EXEC sp_adddistpublisher @publisher=@publisher, 
    @distribution_db=@distributionDB, 
    @security_mode = 1;
GO 

Permisos

Sólo los miembros de la función fija de servidor sysadmin pueden ejecutar sp_adddistributor.