sp_adddistributor (Transact-SQL)sp_adddistributor (Transact-SQL)

DIESES THEMA GILT FÜR:jaSQL Server (ab 2008)neinAzure SQL-DatenbankneinAzure SQL Data Warehouse neinParallel Data Warehouse THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Erstellt einen Eintrag in der sys.sysservers Tabelle (sofern es nicht), markiert ihn als Verteiler und speichert Eigenschafteninformationen.Creates an entry in the sys.sysservers table (if there is not one), marks the server entry as a Distributor, and stores property information. Diese gespeicherte Prozedur wird auf dem Verteiler für die master-Datenbank ausgeführt, um den Server als Verteiler zu registrieren und zu markieren.This stored procedure is executed at the Distributor on the master database to register and mark the server as a distributor. Im Falle eines Remoteverteilers wird sie zusätzlich auf dem Verleger für die master-Datenbank ausgeführt, um den Remoteverteiler zu registrieren.In the case of a remote distributor, it is also executed at the Publisher from the master database to register the remote distributor.

Themenlinksymbol Transact-SQL Syntax Conventions (Transact-SQL-Syntaxkonventionen)Topic link icon Transact-SQL Syntax Conventions

SyntaxSyntax


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

ArgumenteArguments

[ @distributor=] "Verteiler"[ @distributor=] 'distributor'
Der Verteilungsservername.Is the distribution server name. Verteiler ist Sysname, hat keinen Standardwert.distributor is sysname, with no default. Dieser Parameter wird nur bei der Einrichtung eines Remoteverteilers verwendet.This parameter is only used if setting up a remote Distributor. Er fügt Einträge für die Verteilereigenschaften der Msdb... MSdistributor Tabelle.It adds entries for the Distributor properties in the msdb..MSdistributor table.

[ @heartbeat_interval=] Heartbeat_interval[ @heartbeat_interval=] heartbeat_interval
Die maximale Anzahl von Minuten, für die ein Agent ausgeführt werden kann, ohne dass eine Statusmeldung protokolliert wird.Is the maximum number of minutes that an agent can go without logging a progress message. Heartbeat_interval ist Int, hat den Standardwert von 10 Minuten.heartbeat_interval is int, with a default of 10 minutes. Ein Auftrag des SQL Server-Agents wird erstellt, der nach diesem Zeitraum ausgeführt wird, um den Status der ausgeführten Replikations-Agents zu überprüfen.A SQL Server Agent job is created that runs on this interval to check the status of the replication agents that are running.

[ @password=] "Kennwort"][ @password=] 'password']
Das Kennwort des der Distributor_admin Anmeldung.Is the password of the distributor_admin login. Kennwort ist Sysname, hat den Standardwert NULL.password is sysname, with a default of NULL. Bei NULL oder einer leeren Zeichenfolge wird das Kennwort auf einen Zufallswert festgelegt.If NULL or an empty string, password is reset to a random value. Das Kennwort muss konfiguriert sein, wenn der erste Remoteverteiler hinzugefügt wird.The password must be configured when the first remote distributor is added. Distributor_admin Anmeldung und Kennwort gespeichert sind, für den verbindungsservereintrag für eine Verteiler RPC-Verbindung, einschließlich lokaler Verbindungen.distributor_admin login and password are stored for linked server entry used for a distributor RPC connection, including local connections. Wenn Verteiler ist lokal, das Kennwort für Distributor_admin auf einen neuen Wert festgelegt ist.If distributor is local, the password for distributor_admin is set to a new value. Für Verleger mit einem Remoteverteiler der gleiche Wert für Kennwort muss angegeben werden, für die Ausführung Sp_adddistributor auf dem Verleger und Verteiler.For Publishers with a remote Distributor, the same value for password must be specified when executing sp_adddistributor at both the Publisher and Distributor. Sp_changedistributor_password kann zum Ändern des verteilerkennworts verwendet werden.sp_changedistributor_password can be used to change the Distributor password.

Wichtig

Benutzer sollten nach Möglichkeit dazu aufgefordert werden, Anmeldeinformationen zur Laufzeit anzugeben.When possible, prompt users to enter security credentials at runtime. Wenn Anmeldeinformationen in einer Skriptdatei gespeichert werden müssen, muss die Datei an einem sicheren Ort gespeichert werden, um unberechtigten Zugriff zu vermeiden.If you must store credentials in a script file, you must secure the file to prevent unauthorized access.

[ @from_scripting= ] From_scripting[ @from_scripting= ] from_scripting
Nur für Informationszwecke identifiziert.Identified for informational purposes only. Wird nicht unterstützt.Not supported. Zukünftige Kompatibilität wird nicht sichergestellt.Future compatibility is not guaranteed.

RückgabecodewerteReturn Code Values

0 (Erfolg) oder 1 (Fehler)0 (success) or 1 (failure)

HinweiseRemarks

Sp_adddistributor wird bei der Momentaufnahme-, Transaktions- und Mergereplikation verwendet.sp_adddistributor is used in snapshot replication, transactional replication, and merge replication.

BeispielExample

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

BerechtigungenPermissions

Nur Mitglieder der Sysadmin -Serverrolle kann ausführen Sp_adddistributor.Only members of the sysadmin fixed server role can execute sp_adddistributor.

Siehe auchSee Also

Konfigurieren der Veröffentlichung und der Verteilung Configure Publishing and Distribution
Sp_changedistributor_property ( Transact-SQL ) sp_changedistributor_property (Transact-SQL)
Sp_dropdistributor ( Transact-SQL ) sp_dropdistributor (Transact-SQL)
sp_helpdistributor (Transact-SQL) sp_helpdistributor (Transact-SQL)
Gespeicherte Systemprozeduren (Transact-SQL) System Stored Procedures (Transact-SQL)
Konfigurieren der VerteilungConfigure Distribution