sp_adddistpublisher (Transact-SQL)

Konfiguriert einen Verleger so, dass er eine angegebene Verteilungsdatenbank verwendet. Diese gespeicherte Prozedur wird auf dem Verteiler für jede Datenbank ausgeführt. Beachten Sie, dass die gespeicherten Prozeduren sp_adddistributor (Transact-SQL) und sp_adddistributiondb (Transact-SQL) vor der Verwendung dieser gespeicherten Prozedur ausgeführt werden müssen.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

sp_adddistpublisher [ @publisher= ] 'publisher' 
        , [ @distribution_db= ] 'distribution_db' 
    [ , [ @security_mode= ] security_mode ] 
    [ , [ @login= ] 'login' ] 
    [ , [ @password= ] 'password' ] 
    [ , [ @working_directory= ] 'working_directory' ] 
    [ , [ @trusted= ] 'trusted' ] 
    [ , [ @encrypted_password= ] encrypted_password ] 
    [ , [ @thirdparty_flag = ] thirdparty_flag ]
    [ , [ @publisher_type = ] 'publisher_type' ]

Argumente

  • [ @publisher=] 'publisher'
    Ist der Name des Verlegers. publisher ist vom Datentyp sysname und hat keinen Standard.

  • [ @distribution_db=] 'distribution_db'
    Ist der Name der Verteilungsdatenbank. distributor_db ist vom Datentyp sysname und hat keinen Standard. Dieser Parameter wird von Replikations-Agents zum Herstellen einer Verbindung zum Verleger verwendet.

  • [ @security_mode=] security_mode
    Der implementierte Sicherheitsmodus. Dieser Parameter wird von Replikations-Agents zum Herstellen einer Verbindung mit dem Verleger für Abonnements mit verzögertem Update über eine Warteschlange oder einer Verbindung mit einem Nicht-SQL Server-Verleger verwendet. security_mode ist vom Datentyp int. Die folgenden Werte sind möglich.

    Wert

    Beschreibung

    0

    Replikations-Agents auf dem Verteiler verwenden die SQL Server-Authentifizierung zum Herstellen einer Verbindung mit dem Verleger.

    1 (Standard)

    Replikations-Agents auf dem Verteiler verwenden die Windows-Authentifizierung beim Herstellen einer Verbindung zum Verleger.

  • [ @login=] 'login'
    Der Anmeldename. Dieser Parameter ist erforderlich, wenn security_mode gleich 0 ist. login ist vom Datentyp sysname; der Standard ist NULL. Dieser Parameter wird von Replikations-Agents zum Herstellen einer Verbindung zum Verleger verwendet.

  • [ @password=] 'password']
    Ist das Kennwort. password ist vom Datentyp sysname; der Standard ist NULL. Dieser Parameter wird von Replikations-Agents zum Herstellen einer Verbindung zum Verleger verwendet.

    SicherheitshinweisSicherheitshinweis

    Verwenden Sie kein leeres Kennwort. Verwenden Sie ein sicheres Kennwort.

  • [ @working_directory=] 'working_directory'
    Ist der Name des Arbeitsverzeichnisses zum Speichern von Daten und Schemadateien für die Veröffentlichung. working_directory ist vom Datentyp nvarchar(255). Standard für diese SQL Server-Instanz ist der Ordner 'ReplData', z. B. 'C:\Programme\Microsoft SQL Server\MSSQL\MSSQ.1\ReplData'. Dieser Name sollte im UNC-Format angegeben werden.

  • [ @trusted=] 'trusted'
    Dieser Parameter wurde als veraltet markiert und wird nur aus Gründen der Abwärtskompatibilität bereitgestellt. trusted ist vom Datentyp nvarchar(5); die Einstellung auf einen anderen Wert als false führt zu einem Fehler.

  • [ @encrypted_password=] encrypted_password
    encrypted_password wird nicht mehr unterstützt. Der Versuch, diesen bit-Parameter auf 1 festzulegen, führt zu einem Fehler.

  • [ @thirdparty_flag =] thirdparty_flag
    Gibt an, ob es sich beim Verleger um einen Computer mit SQL Server handelt. thirdparty_flag ist vom Datentyp bit. Die folgenden Werte sind möglich.

    Wert

    Beschreibung

    0 (Standard)

    SQL Server-Datenbank.

    1

    Nicht-SQL Server-Datenbank.

  • [ @publisher_type= ] 'publisher_type'
    Gibt den Verlegertyp an, wenn es sich beim Verleger nicht um einen Computer mit SQL Server handelt. publisher_type ist vom Datentyp sysname. Die folgenden Werte sind möglich.

    Wert

    Beschreibung

    MSSQLSERVER

    (Standard)

    Gibt einen SQL Server-Verleger an.

    ORACLE

    Gibt einen Oracle-Standardverleger an.

    ORACLE GATEWAY

    Gibt einen Oracle-Gatewayverleger an.

    Weitere Informationen zu den Unterschieden zwischen einem Oracle-Verleger und einem Oracle-Gatewayverleger finden Sie unter Konfigurieren eines Oracle-Verlegers.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

sp_adddistpublisher 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_adddistpublisher ausführen.