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.
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.Sicherheitshinweis 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.
Siehe auch