sp_adddistpublisher (Transact-SQL)sp_adddistpublisher (Transact-SQL)

S’APPLIQUE À : ouiSQL Server ouiAzure SQL Database (Managed Instance uniquement) nonAzure SQL Data Warehouse nonParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database (Managed Instance only) noAzure SQL Data Warehouse noParallel Data Warehouse

Configure un serveur de publication pour qu'il utilise une base de données de distribution spécifique.Configures a Publisher to use a specified distribution database. Cette procédure stockée est exécutée sur n’importe quelle base de données du serveur de distribution.This stored procedure is executed at the Distributor on any database. Notez que les procédures stockées sp_adddistributor (Transact-SQL) et sp_adddistributiondb (Transact-SQL) doivent avoir été exécutées avant l’utilisation de cette procédure stockée.Note that the stored procedures sp_adddistributor (Transact-SQL) and sp_adddistributiondb (Transact-SQL) must have been run prior to using this stored procedure.

Icône de lien de rubrique Conventions de la syntaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SyntaxeSyntax

  
sp_adddistpublisher [ @publisher= ] 'publisher'   
        , [ @distribution_db= ] 'distribution_db'   
    [ , [ @security_mode= ] security_mode ]   
    [ , [ @login= ] 'login' ]   
    [ , [ @password= ] 'password' ]   
    [ , [ @working_directory= ] 'working_directory' ]   
    [ , [ @storage_connection_string= ] 'storage_connection_string']
    [ , [ @trusted= ] 'trusted' ]   
    [ , [ @encrypted_password= ] encrypted_password ]   
    [ , [ @thirdparty_flag = ] thirdparty_flag ]  
    [ , [ @publisher_type = ] 'publisher_type' ]  

ArgumentsArguments

[ @publisher = ] 'publisher'Nom du serveur de publication.[ @publisher = ] 'publisher' Is the Publisher name. Publisher est de type sysname, sans valeur par défaut.publisher is sysname, with no default.

[ @distribution_db = ] 'distribution_db'Nom de la base de données de distribution.[ @distribution_db = ] 'distribution_db' Is the name of the distribution database. distributor_db est de type sysname, sans valeur par défaut.distributor_db is sysname, with no default. Il est utilisé par les agents de réplication pour se connecter au serveur de publication.This parameter is used by replication agents to connect to the Publisher.

[ @security_mode = ] security_modeEst le mode de sécurité implémenté.[ @security_mode = ] security_mode Is the implemented security mode. Ce paramètre est utilisé uniquement par les agents de réplication pour se connecter au serveur de publication pour les abonnements de mise SQL ServerSQL Server à jour en attente ou avec un serveur de publication non-.This parameter is only used by replication agents to connect to the Publisher for queued updating subscriptions or with a non- SQL ServerSQL Server Publisher. security_mode est de type intet peut prendre l’une des valeurs suivantes.security_mode is int, and can be one of these values.

ValueValue DescriptionDescription
00 Les Agents de réplication situés sur le serveur de distribution utilisent l'authentification SQL ServerSQL Server pour se connecter au serveur de publication.Replication agents at the Distributor use SQL ServerSQL Server Authentication to connect to the Publisher.
1 (par défaut)1 (default) Les agents de réplication situés sur le serveur de distribution utilisent l'authentification Windows pour se connecter au serveur de publication.Replication agents at the Distributor use Windows Authentication to connect to the Publisher.

[ @login = ] 'login'Nom de la connexion.[ @login = ] 'login' Is the login. Ce paramètre est obligatoire si security_mode a la valeur 0.This parameter is required if security_mode is 0. login est de type sysname, avec NULL comme valeur par défaut.login is sysname, with a default of NULL. Il est utilisé par les agents de réplication pour se connecter au serveur de publication.This parameter is used by replication agents to connect to the Publisher.

[ @password = ] 'password']Est le mot de passe.[ @password = ] 'password'] Is the password. Password est de type sysname, avec NULL comme valeur par défaut.password is sysname, with a default of NULL. Il est utilisé par les agents de réplication pour se connecter au serveur de publication.This parameter is used by replication agents to connect to the Publisher.

Important

N'utilisez pas de mot de passe vide.Do not use a blank password. Utilisez un mot de passe fort.Use a strong password.

[ @working_directory = ] 'working_directory'Nom du répertoire de travail utilisé pour stocker les fichiers de données et de schéma de la publication.[ @working_directory = ] 'working_directory' Is the name of the working directory used to store data and schema files for the publication. working_directory est de type nvarchar (255) , et par défaut le dossier repldata pour cette instance SQL ServerSQL Serverde, par C:\Program Files\Microsoft SQL Server\MSSQL\MSSQ.1\ReplDataexemple.working_directory is nvarchar(255), and defaults to the ReplData folder for this instance of SQL ServerSQL Server, for example C:\Program Files\Microsoft SQL Server\MSSQL\MSSQ.1\ReplData. Le nom doit être indiqué au format UNC.The name should be specified in UNC format.

Pour Azure SQL Database, utilisez \\<storage_account>.file.core.windows.net\<share>.For Azure SQL Database, use \\<storage_account>.file.core.windows.net\<share>.

[ @storage_connection_string = ] 'storage_connection_string'Est requis pour SQL Database.[ @storage_connection_string = ] 'storage_connection_string' Is required for SQL Database. Utilisez la clé d’accès du portail Azure sous paramètres de > de stockage.Use the access key from Azure Portal under storage > settings.

Les bases de données de serveur de publication et de serveur de distribution sur Azure SQL Database requièrent Managed instance pour plus d’informations, consultez réplication avec Azure SQL Database.Publisher and distributor databases on Azure SQL Database require Managed Instance for more information, see Replication with Azure SQL Database.

[ @trusted = ] 'trusted'Ce paramètre est déconseillé et n’est fourni qu’à des fins de compatibilité descendante.[ @trusted = ] 'trusted' This parameter has been deprecated and is provided for backward compatibility only. Trusted est de type nvarchar (5) et son affectation à la valeur false génère une erreur.trusted is nvarchar(5), and setting it to anything but false will result in an error.

[ @encrypted_password = ] encrypted_passwordLa définition de encrypted_password n’est plus prise en charge.[ @encrypted_password = ] encrypted_password Setting encrypted_password is no longer supported. Si vous tentez de définir ce paramètre de bit sur 1 , une erreur se produit.Attempting to set this bit parameter to 1 will result in an error.

[ @thirdparty_flag = ] thirdparty_flagEst lorsque le serveur de SQL ServerSQL Serverpublication est.[ @thirdparty_flag = ] thirdparty_flag Is when the Publisher is SQL ServerSQL Server. thirdparty_flag est de bitset peut prendre l’une des valeurs suivantes.thirdparty_flag is bit, and can be one of the following values.

ValueValue DescriptionDescription
0 (valeur par défaut)0 (default) SQL ServerSQL ServerDatabase.database.
11 Base de données autre que SQL ServerSQL ServerDatabase other than SQL ServerSQL Server.

[ @publisher_type = ] 'publisher_type'Spécifie le type de serveur de publication lorsque SQL ServerSQL Serverle serveur de publication n’est pas.[ @publisher_type = ] 'publisher_type' Specifies the Publisher type when the Publisher is not SQL ServerSQL Server. publisher_type est de type sysname et peut prendre l’une des valeurs suivantes.publisher_type is sysname, and can be one of the following values.

ValueValue DescriptionDescription
MSSQLSERVERMSSQLSERVER

(par défaut)(default)
Spécifie un serveur de publication SQL ServerSQL Server.Specifies a SQL ServerSQL Server Publisher.
SOLUTIONORACLE Spécifie un serveur de publication Oracle standard.Specifies a standard Oracle Publisher.
PASSERELLE ORACLEORACLE GATEWAY Spécifie un serveur de publication Oracle Gateway.Specifies an Oracle Gateway Publisher.

Pour plus d’informations sur les différences entre un serveur de publication Oracle et un serveur de publication Oracle Gateway, consultez configurer un serveur de publication Oracle.For more information about the differences between an Oracle Publisher and an Oracle Gateway Publisher, see Configure an Oracle Publisher.

Valeurs des codes de retourReturn Code Values

0 (réussite) ou 1 (échec)0 (success) or 1 (failure)

NotesRemarks

la procédure sp_adddistpublisher est utilisée par la réplication d’instantané, la réplication transactionnelle et la réplication de fusion.sp_adddistpublisher is used by snapshot replication, transactional replication, and merge replication.

ExempleExample

-- 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'AdventureWorks2012'; 

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

AutorisationsPermissions

Seuls les membres du rôle serveur fixe sysadmin peuvent exécuter sp_adddistpublisher.Only members of the sysadmin fixed server role can execute sp_adddistpublisher.

Voir aussiSee Also

Configurer la publication et la distribution Configure Publishing and Distribution
sp_changedistpublisher (Transact-SQL) sp_changedistpublisher (Transact-SQL)
sp_dropdistpublisher (Transact-SQL) sp_dropdistpublisher (Transact-SQL)
sp_helpdistpublisher (Transact-SQL) sp_helpdistpublisher (Transact-SQL)
Procédures stockées système (Transact-SQL) System Stored Procedures (Transact-SQL)
Configurer la distributionConfigure Distribution