Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Managed Instance
Konfigurerar en utgivare att använda en angiven distributionsdatabas. Den här lagrade proceduren körs på distributören på valfri databas. De lagrade procedurerna sp_adddistributor och sp_adddistributiondb måste ha körts innan den här lagrade proceduren används.
Transact-SQL syntaxkonventioner
Syntax
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'
Utgivarens namn. @publisher är sysname, utan standard.
Anmärkning
Servernamn kan anges som <Hostname>,<PortNumber> för en standardinstans eller <Hostname>\<InstanceName>,<PortNumber> för en namngiven instans. Ange portnumret för anslutningen när SQL Server distribueras i Linux eller Windows med en anpassad port och webbläsartjänsten är inaktiverad. Användningen av anpassade portnummer för fjärrdistributör gäller för SQL Server 2019 (15.x) och senare versioner.
[ @distribution_db = ] N'distribution_db'
Namnet på distributionsdatabasen. @distribution_db är sysname, utan standard. Den här parametern används av replikeringsagenter för att ansluta till Publisher.
[ @security_mode = ] security_mode
Det implementerade säkerhetsläget. Den här parametern används endast av replikeringsagenter för att ansluta till Publisher för köade uppdateringsprenumerationer eller med en icke-SQL Server Publisher. @security_mode är int och kan vara ett av dessa värden.
| Värde | Description |
|---|---|
0 |
Replikeringsagenter på distributören använder SQL Server-autentisering för att ansluta till utgivaren. |
1 (standardinställning) |
Replikeringsagenter på distributören använder Windows-autentisering för att ansluta till utgivaren. |
[ @login = ] N'login'
Inloggningen. Den här parametern krävs om security_mode är 0.
@login är sysname med standardvärdet NULL. Den här parametern används av replikeringsagenter för att ansluta till Publisher.
[ @password = ] N'password'
Lösenordet.
@password är sysname med standardvärdet NULL. Den här parametern används av replikeringsagenter för att ansluta till Publisher.
Viktigt!
Använd inte ett tomt lösenord. Använd ett starkt lösenord.
[ @working_directory = ] N'working_directory'
Namnet på arbetskatalogen som används för att lagra data och schemafiler för publikationen.
@working_directory är nvarchar(255), och standardvärdet är mappen för den ReplData här instansen av SQL Server. Till exempel C:\Program Files\Microsoft SQL Server\MSSQL\MSSQL.1\ReplData. Namnet ska anges i UNC-format.
För Azure SQL Database använder du \\<storage_account>.file.core.windows.net\<share>.
[ @trusted = ] N'trusted'
@trusted är inaktuell och tillhandahålls endast för bakåtkompatibilitet.
@trusted är nvarchar(5), med standardvärdet false. Om du anger den här parametern till allt annat än false resulterar det i ett fel.
[ @encrypted_password = ] encrypted_password
Det går inte längre att ange den här parametern.
@encrypted_password är bit, med standardvärdet 0. Om du ställer in den här parametern på 1 resulterar det i ett fel.
[ @thirdparty_flag = ] thirdparty_flag
Anger när utgivaren är SQL Server. @thirdparty_flag är lite och kan vara något av följande värden.
| Värde | Description |
|---|---|
0 (standardinställning) |
SQL Server-databas. |
1 |
Annan databas än SQL Server. |
[ @publisher_type = ] N'publisher_type'
Anger typ av utgivare när utgivaren inte är SQL Server. @publisher_type är sysname och kan vara ett av följande värden.
| Värde | Description |
|---|---|
MSSQLSERVER (standardinställning) |
Anger en SQL Server Publisher. |
ORACLE |
Anger en Standard Oracle Publisher. |
ORACLE GATEWAY |
Anger en Oracle Gateway-utgivare. |
Mer information om skillnaderna mellan en Oracle Publisher och en Oracle Gateway Publisher finns i Konfigurera en Oracle Publisher.
[ @storage_connection_string = ] N'storage_connection_string'
Krävs för Azure SQL Database.
@storage_connection_string är nvarchar(255), med standardvärdet NULL. Använd åtkomstnyckeln från Azure-portalen under Lagringsinställningar>.
Anmärkning
Utgivare och distributörsdatabaser i Azure SQL Database kräver SQL Managed Instance. Mer information finns i Replikering till Azure SQL Database.
Returnera kodvärden
0 (lyckades) eller 1 (fel).
Anmärkningar
sp_adddistpublisher används av replikering av ögonblicksbilder, transaktionsreplikering och sammanslagningsreplikering.
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
Permissions
Endast medlemmar i den fasta serverrollen sysadmin kan köra sp_adddistpublisher.