sp_adddistpublisher (Transact-SQL)sp_adddistpublisher (Transact-SQL)

Anwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions) JaVerwaltete Azure SQL-InstanzAzure SQL Managed InstanceYesVerwaltete Azure SQL-InstanzAzure SQL Managed InstanceAnwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions) JaVerwaltete Azure SQL-InstanzAzure SQL Managed InstanceYesVerwaltete Azure SQL-InstanzAzure SQL Managed Instance

Konfiguriert einen Verleger so, dass er eine angegebene Verteilungsdatenbank verwendet.Configures a Publisher to use a specified distribution database. Diese gespeicherte Prozedur wird auf dem Verteiler für jede Datenbank ausgeführt.This stored procedure is executed at the Distributor on any database. 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.Note that the stored procedures sp_adddistributor (Transact-SQL) and sp_adddistributiondb (Transact-SQL) must have been run prior to using this stored procedure.

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

SyntaxSyntax

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

ArgumenteArguments

[ @publisher = ] 'publisher' Der Name des Verlegers.[ @publisher = ] 'publisher' Is the Publisher name. Publisher ist vom Datentyp vom Datentyp sysnameund hat keinen Standardwert.publisher is sysname, with no default.

Hinweis

Der Server Name kann als angegeben werden <Hostname>,<PortNumber> .Server name can be specified as <Hostname>,<PortNumber>. Möglicherweise müssen Sie die Portnummer für die Verbindung angeben, wenn SQL Server unter Linux oder Windows mit einem benutzerdefinierten Port bereitgestellt wird und der-Browser Dienst deaktiviert ist.You may need to specify the port number for your connection when SQL Server is deployed on Linux or Windows with a custom port, and browser service is disabled.

[ @distribution_db = ] 'distribution_db' Der Name der Verteilungs Datenbank.[ @distribution_db = ] 'distribution_db' Is the name of the distribution database. distributor_db ist vom Datentyp vom Datentyp sysnameund hat keinen Standardwert.distributor_db is sysname, with no default. Dieser Parameter wird von Replikations-Agents zum Herstellen einer Verbindung zum Verleger verwendet.This parameter is used by replication agents to connect to the Publisher.

[ @security_mode = ] security_mode Der implementierte Sicherheitsmodus.[ @security_mode = ] security_mode Is the implemented security mode. 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 ServerSQL Server Verleger herzustellen.This parameter is only used by replication agents to connect to the Publisher for queued updating subscriptions or with a non- SQL ServerSQL Server Publisher. security_mode ist vom Datentyp int. die folgenden Werte sind möglich:security_mode is int, and can be one of these values.

WertValue BESCHREIBUNGDescription
00 Replikations-Agents auf dem Verteiler verwenden die SQL ServerSQL Server-Authentifizierung zum Herstellen einer Verbindung mit dem Verleger.Replication agents at the Distributor use SQL ServerSQL Server Authentication to connect to the Publisher.
1 (Standard)1 (default) Replikations-Agents auf dem Verteiler verwenden die Windows-Authentifizierung beim Herstellen einer Verbindung zum Verleger.Replication agents at the Distributor use Windows Authentication to connect to the Publisher.

[ @login = ] 'login' Der Anmelde Name.[ @login = ] 'login' Is the login. Dieser Parameter ist erforderlich, security_mode wenn security_mode 0ist.This parameter is required if security_mode is 0. login ist vom Datentyp sysnameund hat den Standardwert NULL.login is sysname, with a default of NULL. Dieser Parameter wird von Replikations-Agents zum Herstellen einer Verbindung zum Verleger verwendet.This parameter is used by replication agents to connect to the Publisher.

[ @password = ] 'password'] Das Kennwort.[ @password = ] 'password'] Is the password. Password ist vom Datentyp vom Datentyp sysnameund hat den Standardwert NULL.password is sysname, with a default of NULL. Dieser Parameter wird von Replikations-Agents zum Herstellen einer Verbindung zum Verleger verwendet.This parameter is used by replication agents to connect to the Publisher.

Wichtig

Verwenden Sie kein leeres Kennwort.Do not use a blank password. Verwenden Sie ein sicheres Kennwort.Use a strong password.

[ @working_directory = ] 'working_directory' Der Name des Arbeitsverzeichnisses, das zum Speichern von Daten-und Schema Dateien für die Veröffentlichung verwendet wird.[ @working_directory = ] 'working_directory' Is the name of the working directory used to store data and schema files for the publication. working_directory ist vom Datentyp nvarchar (255). der Standardwert ist beispielsweise der Ordner repldata für diese Instanz von SQL ServerSQL Server C:\Program Files\Microsoft SQL Server\MSSQL\MSSQ.1\ReplData .working_directory is nvarchar(255), and defaults to the ReplData folder for this instance of SQL ServerSQL Server, for example C:\Program Files\Microsoft SQL Server\MSSQL\MSSQ.1\ReplData. Dieser Name sollte im UNC-Format angegeben werden.The name should be specified in UNC format.

Verwenden Sie für Azure SQL-Datenbank \\<storage_account>.file.core.windows.net\<share> .For Azure SQL Database, use \\<storage_account>.file.core.windows.net\<share>.

[ @storage_connection_string = ] 'storage_connection_string' Ist für die SQL-Datenbank erforderlich.[ @storage_connection_string = ] 'storage_connection_string' Is required for SQL Database. Verwenden Sie den Zugriffsschlüssel aus dem Azure-Portal unter Speicher > Einstellungen.Use the access key from Azure Portal under storage > settings.

Für Verleger-und Verteiler Datenbanken in Azure SQL-Datenbank ist verwaltete Instanz erforderlich. Weitere Informationen finden Sie unter Replikation mit Azure SQL-Datenbank.Publisher and distributor databases on Azure SQL Database require Managed Instance for more information, see Replication with Azure SQL Database.

[ @trusted = ] 'trusted' Dieser Parameter wurde als veraltet markiert und wird nur aus Gründen der Abwärtskompatibilität bereitgestellt.[ @trusted = ] 'trusted' This parameter has been deprecated and is provided for backward compatibility only. Trusted ist vom Datentyp nvarchar (5), und das Festlegen auf alles, aber false führt zu einem Fehler.trusted is nvarchar(5), and setting it to anything but false will result in an error.

[ @encrypted_password = ] encrypted_password Das Festlegen von encrypted_password wird nicht mehr unterstützt.[ @encrypted_password = ] encrypted_password Setting encrypted_password is no longer supported. Der Versuch, diesen Bit -Parameter auf 1 festzulegen, führt zu einem Fehler.Attempting to set this bit parameter to 1 will result in an error.

[ @thirdparty_flag = ] thirdparty_flag Ist, wenn der Verleger ist SQL ServerSQL Server .[ @thirdparty_flag = ] thirdparty_flag Is when the Publisher is SQL ServerSQL Server. thirdparty_flag ist vom Bitund kann einen der folgenden Werte aufweisen.thirdparty_flag is bit, and can be one of the following values.

WertValue BESCHREIBUNGDescription
0 (Standardwert)0 (default) SQL ServerSQL Server-Datenbank.database.
11 Nicht-SQL ServerSQL Server-Datenbank.Database other than SQL ServerSQL Server.

[ @publisher_type = ] 'publisher_type' Gibt den Verlegertyp an, wenn der Verleger nicht ist SQL ServerSQL Server .[ @publisher_type = ] 'publisher_type' Specifies the Publisher type when the Publisher is not SQL ServerSQL Server. publisher_type ist vom Datentyp sysname. die folgenden Werte sind möglich:publisher_type is sysname, and can be one of the following values.

WertValue BeschreibungDescription
MSSQLSERVERMSSQLSERVER

(Standard)(default)
Gibt einen SQL ServerSQL Server-Verleger an.Specifies a SQL ServerSQL Server Publisher.
OrakelORACLE Gibt einen standardmäßigen Oracle-Verleger an.Specifies a standard Oracle Publisher.
ORACLE GATEWAYORACLE GATEWAY Gibt einen Oracle Gateway-Verleger an.Specifies an Oracle Gateway Publisher.

Weitere Informationen zu den Unterschieden zwischen einem Oracle-Verleger und einem Oracle-Gatewayverleger finden Sie unter Konfigurieren eines Oracle-Verlegers.For more information about the differences between an Oracle Publisher and an Oracle Gateway Publisher, see Configure an Oracle Publisher.

RückgabecodewerteReturn Code Values

„0“ (erfolgreich) oder „1“ (fehlerhaft)0 (success) or 1 (failure)

BemerkungenRemarks

sp_adddistpublisher wird von der Momentaufnahme Replikation, Transaktions Replikation und Mergereplikation verwendet.sp_adddistpublisher is used by 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_adddistpublisherausführen.Only members of the sysadmin fixed server role can execute sp_adddistpublisher.

Weitere InformationenSee Also

Konfigurieren der Veröffentlichung und der Verteilung Configure Publishing and Distribution
sp_changedistpublisher (Transact-SQL-) sp_changedistpublisher (Transact-SQL)
sp_dropdistpublisher (Transact-SQL-) sp_dropdistpublisher (Transact-SQL)
sp_helpdistpublisher (Transact-SQL) sp_helpdistpublisher (Transact-SQL)
Gespeicherte System Prozeduren (Transact-SQL-) System Stored Procedures (Transact-SQL)
Verteilung konfigurierenConfigure Distribution