sp_adddistpublisher (Transact-SQL)
Configura un publicador para que utilice una base de datos de distribución determinada. Este procedimiento almacenado se ejecuta en el distribuidor de cualquier base de datos. Observe que los procedimientos almacenados sp_adddistributor (Transact-SQL) y sp_adddistributiondb (Transact-SQL) se deben ejecutar antes de utilizar este procedimiento almacenado.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_adddistpublisher [ @publisher= ] 'publisher'
, [ @distribution_db= ] 'distribution_db'
[ , [ @security_mode= ] security_mode ]
[ , [ @login= ] 'login' ]
[ , [ @password= ] 'password' ]
[ , [ @working_directory= ] 'working_directory' ]
[ , [ @trusted= ] 'trusted' ]
[ , [ @encrypted_password= ] encrypted_password ]
[ , [ @thirdparty_flag = ] thirdparty_flag ]
[ , [ @publisher_type = ] 'publisher_type' ]
Argumentos
- [ @publisher = ] 'publisher'
Es el nombre del publicador. publisher es de tipo sysname y no tiene valor predeterminado.
- [ @distribution_db=] 'distribution_db'
Es el nombre de la base de datos de distribución. distributor_db es de tipo sysname y no tiene valor predeterminado. Los agentes de réplica utilizan este parámetro para conectarse al publicador.
[ @security_mode=] security_mode
Es el modo de seguridad implementado. Los agentes de réplica utilizan este parámetro para conectarse al publicador en suscripciones de actualización en cola o con un publicador no SQL Server. security_mode es de tipo int y puede tener uno de los valores siguientes.Valor Descripción 0
Los agentes de réplica del distribuidor utilizan la autenticación de SQL Server para conectarse al publicador.
1 (predeterminado)
Los agentes de réplica del distribuidor utilizan la autenticación de Windows para conectarse al publicador.
- [ @login=] 'login'
Es el inicio de sesión. Este parámetro es necesario si security_mode es 0. login es de tipo sysname y su valor predeterminado es NULL. Los agentes de réplica utilizan este parámetro para conectarse al publicador.
[ @password=] 'password']
Es la contraseña. password es de tipo sysname y su valor predeterminado es NULL. Los agentes de réplica utilizan este parámetro para conectarse al publicador.Nota de seguridad: No utilice una contraseña en blanco. Utilice una contraseña segura.
- [ @working_directory=] 'working_directory'
Es el nombre del directorio de trabajo utilizado para almacenar archivos de datos y de esquema para la publicación. working_directory es de tipo nvarchar(255) y su valor predeterminado es la carpeta ReplData para esta instancia de SQL Server, por ejemplo, 'C:\Archivos de programa\Microsoft SQL Server\MSSQL\MSSQ.1\ReplData'. El nombre se debe especificar en el formato UNC.
- [ @trusted=] 'trusted'
Este parámetro ya no se utiliza y se mantiene sólo por compatibilidad con versiones anteriores. trusted es de tipo nvarchar(5) y si lo establece en un valor distinto de false, se generará un error.
- [ @encrypted_password=] encrypted_password
Ya no se admite establecer encrypted_password. Si intenta establecer este parámetro bit en 1, se generará un error.
[ @thirdparty_flag =] thirdparty_flag
Indica si el publicador es SQL Server. thirdparty_flag es de tipo bit y puede tener uno de los valores siguientes.Valor Descripción 0 (predeterminado)
Base de datos de SQL Server.
1
Otra base de datos distinta de SQL Server.
[ @publisher_type= ] 'publisher_type'
Especifica el tipo de publicador cuando el publicador no es SQL Server. publisher_type es de tipo sysname y puede tener uno de los valores siguientes.Valor Descripción MSSQLSERVER
(predeterminado)
Especifica un publicador de SQL Server.
ORACLE
Especificar un publicador estándar de Oracle.
ORACLE GATEWAY
Especifica un publicador Oracle Gateway.
Para obtener más información acerca de las diferencias entre un publicador de Oracle y un publicador Oracle Gateway, vea Configurar un publicador de Oracle.
Notas
sp_adddistpublisher se utiliza en la réplica de instantáneas, transaccional y de mezcla.
Permisos
Sólo los miembros de la función fija de servidor sysadmin pueden ejecutar sp_adddistpublisher.
Valores de código de retorno
0 (correcto) o 1 (error)
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'AdventureWorks';
-- 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 AdventureWorks 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
Vea también
Referencia
sp_changedistpublisher (Transact-SQL)
sp_dropdistpublisher (Transact-SQL)
sp_helpdistpublisher (Transact-SQL)
Procedimientos almacenados del sistema (Transact-SQL)
Otros recursos
How to: Configure Publishing and Distribution (Replication Transact-SQL Programming)
Configurar la distribución