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

Gilt für: JaSQL Server JaAzure SQL-Datenbank (nur verwaltete Instanz) NeinAzure Synapse Analytics (SQL DW) NeinParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database (Managed Instance only) noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Erstellt einen Eintrag in der sys. sysservers -Tabelle (sofern nicht vorhanden), markiert den Server Eintrag als Verteiler und speichert Eigenschafts Informationen.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.

Symbol für Themenlink Transact-SQL-SyntaxkonventionenTopic link icon Transact-SQL Syntax Conventions

SyntaxSyntax

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

ArgumenteArguments

[ @distributor = ] 'distributor'Der Name des Verteilungs Servers.[ @distributor = ] 'distributor' Is the distribution server name. Distributor ist vom Datentyp vom Datentyp sysnameund 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. Es werden Einträge für die Verteiler Eigenschaften in der msdb-Datenbank hinzugefügt . MSdistributor -Tabelle.It adds entries for the Distributor properties in the msdb..MSdistributor table.

[ @heartbeat_interval = ] heartbeat_intervalDie maximale Anzahl von Minuten, die ein Agent durchlaufen werden kann, ohne eine Fortschrittsmeldung zu protokollieren.[ @heartbeat_interval = ] heartbeat_interval Is the maximum number of minutes that an agent can go without logging a progress message. heartbeat_interval ist vom Datentyp int. der Standardwert ist 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 = ] 'password']Das Kennwort des distributor_admin Anmelde namens.[ @password = ] 'password'] Is the password of the distributor_admin login. Password ist vom Datentyp vom Datentyp sysnameund 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 Anmelde Name und das Kennwort werden für den Eintrag für den Verbindungs Server gespeichert, der für eine Verteiler -RPC-Verbindung verwendet wirddistributor_admin login and password are stored for linked server entry used for a distributor RPC connection, including local connections. Wenn der Verteiler lokal ist, wird das Kennwort für distributor_admin auf einen neuen Wert festgelegt.If distributor is local, the password for distributor_admin is set to a new value. Für Verleger mit einem Remote Verteiler muss beim Ausführen von sp_adddistributor sowohl auf dem Verleger als auch auf dem Verteiler der gleiche Wert für das Kennwort angegeben werden.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 verwendet werden, um das Verteiler Kennwort zu ändern.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 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.[ @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“ (erfolgreich) oder „1“ (fehlerhaft)0 (success) or 1 (failure)

BemerkungenRemarks

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 festen Server Rolle sysadmin können sp_adddistributorausführen.Only members of the sysadmin fixed server role can execute sp_adddistributor.

Weitere InformationenSee 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)
Verteilung konfigurierenConfigure Distribution