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

SI APPLICA A: sìSQL Server sìDatabase SQL di Azure (solo Istanza gestita) noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database (Managed Instance only) noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Configura un server di pubblicazione per l'utilizzo del database di distribuzione specificato.Configures a Publisher to use a specified distribution database. Questa stored procedure viene eseguita in qualsiasi database del server di distribuzione.This stored procedure is executed at the Distributor on any database. Si noti che le stored procedure (sp_adddistributor Transact-) SQL e sp_adddistributiondb (Transact-) SQL devono essere state eseguite prima di usare questo stored procedure.Note that the stored procedures sp_adddistributor (Transact-SQL) and sp_adddistributiondb (Transact-SQL) must have been run prior to using this stored procedure.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintassiSyntax

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

ArgomentiArguments

[ @publisher = ] 'publisher'Nome del server di pubblicazione.[ @publisher = ] 'publisher' Is the Publisher name. Publisher è di tipo sysnamee non prevede alcun valore predefinito.publisher is sysname, with no default.

[ @distribution_db = ] 'distribution_db'Nome del database di distribuzione.[ @distribution_db = ] 'distribution_db' Is the name of the distribution database. distributor_db è di tipo sysnamee non prevede alcun valore predefinito.distributor_db is sysname, with no default. Questo parametro viene utilizzato dagli agenti di replica per la connessione al server di pubblicazione.This parameter is used by replication agents to connect to the Publisher.

[ @security_mode = ] security_modeModalità di sicurezza implementata.[ @security_mode = ] security_mode Is the implemented security mode. Questo parametro viene utilizzato solo dagli agenti di replica per connettersi al server di pubblicazione per le sottoscrizioni ad aggiornamento in coda SQL ServerSQL Server o con un server di pubblicazione 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 è di tipo int. i possibili valori sono i seguenti.security_mode is int, and can be one of these values.

ValueValue DescrizioneDescription
00 Gli agenti di replica nel server di distribuzione si connettono al server di pubblicazione tramite l'autenticazione di SQL ServerSQL Server.Replication agents at the Distributor use SQL ServerSQL Server Authentication to connect to the Publisher.
1 (impostazione predefinita)1 (default) Gli agenti di replica nel server di distribuzione si connettono al server di pubblicazione tramite l'autenticazione di Windows.Replication agents at the Distributor use Windows Authentication to connect to the Publisher.

[ @login = ] 'login'Account di accesso.[ @login = ] 'login' Is the login. Questo parametro è obbligatorio se security_mode è 0.This parameter is required if security_mode is 0. login è di tipo sysname e il valore predefinito è NULL.login is sysname, with a default of NULL. Questo parametro viene utilizzato dagli agenti di replica per la connessione al server di pubblicazione.This parameter is used by replication agents to connect to the Publisher.

[ @password = ] 'password']Password.[ @password = ] 'password'] Is the password. password è di tipo sysnamee il valore predefinito è null.password is sysname, with a default of NULL. Questo parametro viene utilizzato dagli agenti di replica per la connessione al server di pubblicazione.This parameter is used by replication agents to connect to the Publisher.

Importante

Non usare una password vuota.Do not use a blank password. Usare una password complessa.Use a strong password.

[ @working_directory = ] 'working_directory'Nome della directory di lavoro utilizzata per archiviare i file di dati e di schema per la pubblicazione.[ @working_directory = ] 'working_directory' Is the name of the working directory used to store data and schema files for the publication. working_directory è di tipo nvarchar (255) e il valore predefinito è la cartella Repldata per l' SQL ServerSQL Serveristanza di, C:\Program Files\Microsoft SQL Server\MSSQL\MSSQ.1\ReplDataad esempio.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. Il nome deve essere specificato in formato UNC.The name should be specified in UNC format.

Per il database SQL di Azure \\<storage_account>.file.core.windows.net\<share>, usare.For Azure SQL Database, use \\<storage_account>.file.core.windows.net\<share>.

[ @storage_connection_string = ] 'storage_connection_string'È obbligatorio per il database SQL.[ @storage_connection_string = ] 'storage_connection_string' Is required for SQL Database. Usare la chiave di accesso dal portale di Azure in Impostazioni > di archiviazione.Use the access key from Azure Portal under storage > settings.

I database del server di pubblicazione e del server di distribuzione nel database SQL di Azure richiedono istanza gestita per altre informazioni, vedere replica con il database SQL di Azure.Publisher and distributor databases on Azure SQL Database require Managed Instance for more information, see Replication with Azure SQL Database.

[ @trusted = ] 'trusted'Questo parametro è deprecato ed è disponibile solo per compatibilità con le versioni precedenti.[ @trusted = ] 'trusted' This parameter has been deprecated and is provided for backward compatibility only. Trusted è di tipo nvarchar (5) e l'impostazione su qualsiasi valore, ma false , comporterà un errore.trusted is nvarchar(5), and setting it to anything but false will result in an error.

[ @encrypted_password = ] encrypted_passwordL'impostazione di encrypted_password non è più supportata.[ @encrypted_password = ] encrypted_password Setting encrypted_password is no longer supported. Se si tenta di impostare questo parametro di bit su 1 , verrà generato un errore.Attempting to set this bit parameter to 1 will result in an error.

[ @thirdparty_flag = ] thirdparty_flagÈ quando il server di SQL ServerSQL Serverpubblicazione è.[ @thirdparty_flag = ] thirdparty_flag Is when the Publisher is SQL ServerSQL Server. thirdparty_flag è di bit. i possibili valori sono i seguenti.thirdparty_flag is bit, and can be one of the following values.

ValueValue DescrizioneDescription
0 (predefinito)0 (default) Database di SQL ServerSQL Server.SQL ServerSQL Server database.
11 Database non di SQL ServerSQL Server.Database other than SQL ServerSQL Server.

[ @publisher_type = ] 'publisher_type'Specifica il tipo di server di pubblicazione quando il SQL ServerSQL Serverserver di pubblicazione non lo è.[ @publisher_type = ] 'publisher_type' Specifies the Publisher type when the Publisher is not SQL ServerSQL Server. publisher_type è di tipo sysname. i possibili valori sono i seguenti.publisher_type is sysname, and can be one of the following values.

ValueValue DescrizioneDescription
MSSQLSERVERMSSQLSERVER

(predefinito)(default)
Specifica un server di pubblicazione SQL ServerSQL Server.Specifies a SQL ServerSQL Server Publisher.
ORACLEORACLE Specifica un server di pubblicazione Oracle standard.Specifies a standard Oracle Publisher.
GATEWAY ORACLEORACLE GATEWAY Specifica un server di pubblicazione Oracle Gateway.Specifies an Oracle Gateway Publisher.

Per ulteriori informazioni sulle differenze tra un server di pubblicazione Oracle e un server di pubblicazione Oracle Gateway, vedere configurare un server di pubblicazione Oracle.For more information about the differences between an Oracle Publisher and an Oracle Gateway Publisher, see Configure an Oracle Publisher.

Valori restituitiReturn Code Values

0 (esito positivo) o 1 (esito negativo)0 (success) or 1 (failure)

NoteRemarks

sp_adddistpublisher viene utilizzata per la replica snapshot, la replica transazionale e la replica di tipo merge.sp_adddistpublisher is used by snapshot replication, transactional replication, and merge replication.

EsempioExample

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

PermissionsPermissions

Solo i membri del ruolo predefinito del server sysadmin possono eseguire sp_adddistpublisher.Only members of the sysadmin fixed server role can execute sp_adddistpublisher.

Vedere ancheSee Also

Configurare la pubblicazione e la distribuzione 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)
Stored procedure di sistema (Transact-SQL) System Stored Procedures (Transact-SQL)
Configurare la distribuzioneConfigure Distribution