Condividi tramite


sp_adddistributor (Transact-SQL)

Crea una voce nella tabella sys.sysservers se non è già presente, la contrassegna come server di distribuzione e ne archivia le informazioni sulle proprietà. Questa stored procedure viene eseguita nel database master del server di distribuzione per registrare e contrassegnare il server come server di distribuzione. Nel caso di un server di distribuzione remoto la stored procedure viene eseguita nel database master del server di pubblicazione per registrare il server di distribuzione remoto.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

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

Argomenti

  • [ @distributor=] 'distributor'
    Nome del server di distribuzione. distributor è di tipo sysname e non prevede alcun valore predefinito. Questo parametro viene utilizzato solo per la configurazione di un server di distribuzione remoto. Aggiunge voci corrispondenti alle proprietà del server di distribuzione nella tabella msdb..MSdistributor.

  • [ @heartbeat_interval=] heartbeat_interval
    Periodo massimo in minuti durante il quale un agente può non registrare alcun messaggio sullo stato. heartbeat_interval è di tipo int e il valore predefinito è 10 minuti. Viene creato un processo di SQL Server Agent che viene eseguito in base a questo intervallo per controllare lo stato degli agenti di replica in esecuzione.

  • [ @password=] 'password']
    Password dell'account di accesso distributor_admin. password è di tipo sysname e il valore predefinito è NULL. Se il valore è NULL o una stringa vuota, la password viene reimpostata su un valore casuale. La password deve essere configurata quando viene aggiunto il primo server di distribuzione remoto. L'account di accesso distributor_admin e la password sono archiviati per la voce del server collegato utilizzata per le connessioni RPC a distributor, incluse quelle locali. Se distributor è locale, la password per distributor_admin viene impostata su un nuovo valore. Per i server di pubblicazione con un server di distribuzione remoto, deve essere specificato lo stesso valore di password durante l'esecuzione di sp_adddistributor sia nel server di pubblicazione che di distribuzione. La stored procedure sp_changedistributor_password può essere utilizzata per modificare la password del server di distribuzione.

    Nota sulla protezioneNota sulla protezione

    Se possibile, richiedere agli utenti di immettere le credenziali di protezione in fase di esecuzione. Se è necessario archiviare le credenziali in un file script, è fondamentale proteggere il file per evitare accessi non autorizzati.

  • [ @from_scripting= ] from_scripting
    Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Osservazioni

La stored procedure sp_adddistributor viene utilizzata in repliche snapshot, transazionali e di tipo merge.

Esempio

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

Autorizzazioni

Solo i membri del ruolo predefinito del server sysadmin possono eseguire sp_adddistributor.