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'
    Der Name des Verlegers. publisher ist vom Datentyp sysname und hat keinen Standardwert.

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

  • [ @security_mode=] security_mode
    Der implementierte Sicherheitsmodus. Dieser Parameter wird nur von Replikations-Agents verwendet, um eine Verbindung mit dem Verleger für Abonnements mit verzögertem Update oder mit einem Nicht-SQL Server-Verleger herzustellen. 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 den Wert 0 hat. login ist vom Datentyp sysname und hat den Standardwert NULL. Dieser Parameter wird von Replikations-Agents zum Herstellen einer Verbindung zum Verleger verwendet.

  • [ @password=] 'password']
    Das Kennwort. password ist vom Datentyp sysname und hat den Standardwert 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'
    Der Name des Arbeitsverzeichnisses, das zum Speichern von Daten- und Schemadateien für die Veröffentlichung verwendet wird. working_directory ist vom Datentyp nvarchar(255). Der Standardwert ist der Ordner ReplData für diese Instanz von SQL Server, 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 steht nur aus Gründen der Abwärtskompatibilität zur Verfügung. trusted ist vom Datentyp nvarchar(5). Wenn dieser Parameter auf einen anderen Wert als false festgelegt wird, wird ein Fehler ausgelöst.

  • [ @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 der Verleger ein SQL Server-Verleger ist. 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, wann der Verleger kein SQL Server-Verleger ist. 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 standardmäßigen Oracle-Verleger an.

    ORACLE GATEWAY

    Gibt einen Oracle Gateway-Verleger 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 Momentaufnahme-, 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'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 

Berechtigungen

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

Siehe auch

Verweis

sp_changedistpublisher (Transact-SQL)

sp_dropdistpublisher (Transact-SQL)

sp_helpdistpublisher (Transact-SQL)

Gespeicherte Systemprozeduren (Transact-SQL)

Konzepte

Konfigurieren der Veröffentlichung und der Verteilung

Konfigurieren der Verteilung