Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
azure SQL Managed Instance
Nakonfiguruje vydavatele tak, aby používal zadanou distribuční databázi. Tato uložená procedura se provádí u distributora v libovolné databázi. Uložené procedury sp_adddistributor a sp_adddistributiondb musí být spuštěny před použitím této uložené procedury.
Syntaxe
sp_adddistpublisher
[ @publisher = ] N'publisher'
, [ @distribution_db = ] N'distribution_db'
[ , [ @security_mode = ] security_mode ]
[ , [ @login = ] N'login' ]
[ , [ @password = ] N'password' ]
[ , [ @working_directory = ] N'working_directory' ]
[ , [ @trusted = ] N'trusted' ]
[ , [ @encrypted_password = ] encrypted_password ]
[ , [ @thirdparty_flag = ] thirdparty_flag ]
[ , [ @publisher_type = ] N'publisher_type' ]
[ , [ @storage_connection_string = ] N'storage_connection_string' ]
[ ; ]
Arguments
[ @publisher = ] N'publisher'
Název vydavatele. @publisher je sysname bez výchozího nastavení.
Poznámka:
Název serveru lze zadat jako <Hostname>,<PortNumber> výchozí instanci nebo <Hostname>\<InstanceName>,<PortNumber> pro pojmenovanou instanci. Zadejte číslo portu pro vaše připojení, když je SQL Server nasazen v Linuxu nebo Windows s vlastním portem a služba prohlížeče je zakázaná. Použití vlastních čísel portů pro vzdáleného distributora platí pro SQL Server 2019 (15.x) a novější verze.
[ @distribution_db = ] N'distribution_db'
Název distribuční databáze. @distribution_db je sysname bez výchozího nastavení. Tento parametr používají agenti replikace pro připojení k Publisheru.
[ @security_mode = ] security_mode
Implementovaný režim zabezpečení. Tento parametr používají pouze agenti replikace pro připojení k Publisheru pro aktualizaci předplatných ve frontě nebo pomocí jiného vydavatele než SQL Server. @security_mode je int a může to být jedna z těchto hodnot.
| Hodnota | Description |
|---|---|
0 |
Agenti replikace u distributora používají ověřování SQL Serveru pro připojení k vydavateli. |
1 (výchozí) |
Agenti replikace u distributora používají ověřování systému Windows pro připojení k vydavateli. |
[ @login = ] N'login'
Přihlášení. Tento parametr je vyžadován, pokud je0security_mode .
@login je sysname, s výchozím nastavením NULL. Tento parametr používají agenti replikace pro připojení k Publisheru.
[ @password = ] N'password'
Heslo.
@password je sysname, s výchozím nastavením NULL. Tento parametr používají agenti replikace pro připojení k Publisheru.
Důležité
Nepoužívejte prázdné heslo. Použijte silné heslo.
[ @working_directory = ] N'working_directory'
Název pracovního adresáře použitého k ukládání dat a souborů schématu publikace.
@working_directory je nvarchar(255) a výchozí hodnota je ReplData složka pro tuto instanci SQL Serveru. Například: C:\Program Files\Microsoft SQL Server\MSSQL\MSSQL.1\ReplData. Název by měl být zadán ve formátu UNC.
Pro Azure SQL Database použijte \\<storage_account>.file.core.windows.net\<share>.
[ @trusted = ] N'trusted'
@trusted je zastaralá a poskytuje se pouze pro zpětnou kompatibilitu.
@trusted je nvarchar(5) s výchozím nastavením false. Nastavení tohoto parametru na cokoli, ale false výsledkem je chyba.
[ @encrypted_password = ] encrypted_password
Nastavení tohoto parametru již není podporováno.
@encrypted_password je bit s výchozím nastavením 0. Nastavením tohoto parametru dojde k 1 chybě.
[ @thirdparty_flag = ] thirdparty_flag
Určuje, kdy je vydavatel SQL Server. @thirdparty_flag je bit a může to být jedna z následujících hodnot.
| Hodnota | Description |
|---|---|
0 (výchozí) |
Databáze SQL Serveru. |
1 |
Databáze jiná než SQL Server. |
[ @publisher_type = ] N'publisher_type'
Určuje typ vydavatele, pokud publisher není SQL Server. @publisher_type je sysname a může to být jedna z následujících hodnot.
| Hodnota | Description |
|---|---|
MSSQLSERVER (výchozí) |
Určuje vydavatele SQL Serveru. |
ORACLE |
Určuje standardní vydavatele Oracle. |
ORACLE GATEWAY |
Určuje vydavatele Oracle Gateway. |
Další informace o rozdílech mezi vydavatelem Oracle a vydavatelem Oracle Gateway naleznete v tématu Konfigurace vydavatele Oracle.
[ @storage_connection_string = ] N'storage_connection_string'
Vyžaduje se pro Azure SQL Database.
@storage_connection_string je nvarchar(255) s výchozím nastavením NULL. V části Nastavení úložiště >použijte přístupový klíč z webu Azure Portal.
Poznámka:
Databáze vydavatele a distributora ve službě Azure SQL Database vyžadují službu SQL Managed Instance. Další informace najdete v tématu Replikace do služby Azure SQL Database.
Hodnoty návratového kódu
0 (úspěch) nebo 1 (selhání).
Poznámky
sp_adddistpublisher používá se replikací snímků, transakční replikací a slučovací replikací.
Examples
-- 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'AdventureWorks2022';
-- 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 AdventureWorks2022 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
Povolení
Spustit můžou pouze členové pevné role serveru sp_adddistpublisher .