sp_adddistributor (Transact-SQL)

Erstellt einen Eintrag in der sys.sysservers-Tabelle (falls noch nicht vorhanden), markiert ihn als Verteiler und speichert Eigenschafteninformationen. Diese gespeicherte Prozedur wird auf dem Verteiler für die master-Datenbank ausgeführt, um den Server als Verteiler zu registrieren und zu markieren. Im Falle eines Remoteverteilers wird sie zusätzlich auf dem Verleger für die master-Datenbank ausgeführt, um den Remoteverteiler zu registrieren.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

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

Argumente

  • [ @distributor=] 'distributor'
    Der Name des Verteilungsservers. distributor ist vom Datentyp sysname und hat keinen Standardwert. Dieser Parameter wird nur bei der Einrichtung eines Remoteverteilers verwendet. Er fügt der msdb..MSdistributor-Tabelle Einträge für die Verteilereigenschaften hinzu.

  • [ @heartbeat_interval=] heartbeat_interval
    Die maximale Zeit in Minuten, die zulässig ist, ohne dass für einen Agent eine Fortschrittsmeldung protokolliert wird. heartbeat_interval ist vom Datentyp int, der Standardwert ist 10 Minuten. Ein SQL Server-Agent-Auftrag wird erstellt, der nach diesem Zeitraum ausgeführt wird, um den Status der ausgeführten Replikations-Agents zu überprüfen.

  • [ @password=] 'password']
    Das Kennwort des Anmeldenamens distributor_admin. password ist vom Datentyp sysname, der Standardwert ist NULL. Bei NULL oder einer leeren Zeichenfolge wird das Kennwort auf einen Zufallswert festgelegt. Das Kennwort muss konfiguriert werden, wenn der erste Remoteverteiler hinzugefügt wird. Der Anmeldename distributor_admin und password werden für den Verbindungsservereintrag für eine distributor-RPC-Verbindung, einschließlich lokaler Verbindungen, gespeichert. Wenn es sich bei distributor um einen lokalen Verteiler handelt, wird das Kennwort für distributor_admin geändert. Bei Verlegern mit einem Remoteverteiler muss beim Ausführen von sp_adddistributor auf dem Verleger und Verteiler derselbe Wert für password angegeben werden. sp_changedistributor_password kann zum Ändern des Verteilerkennworts verwendet werden.

    SicherheitshinweisSicherheitshinweis

    Sie sollten die Benutzer nach Möglichkeit auffordern, Anmeldeinformationen zur Laufzeit anzugeben. Wenn Anmeldeinformationen in einer Skriptdatei gespeichert werden müssen, müssen Sie die Datei an einem sicheren Ort speichern, um den unberechtigten Zugriff zu vermeiden.

  • [ @from_scripting= ] from_scripting
    Nur für Informationszwecke identifiziert. Nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

sp_adddistributor wird bei der Snapshot-, Transaktions- und Mergereplikation verwendet.

Beispiel

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

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

Berechtigungen

Nur Mitglieder der festen Serverrolle sysadmin können sp_adddistributor ausführen.