Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Yönetilen Örneği
Publisher'ı belirtilen bir dağıtım veritabanını kullanacak şekilde yapılandırıyor. Bu saklı yordam herhangi bir veritabanındaki Dağıtımcı'da yürütülür. sp_adddistributor vesp_adddistributiondb saklı yordamlar, bu saklı yordamdan önce çalıştırılmış olmalıdır.
Transact-SQL söz dizimi kuralları
Sözdizimi
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'
Yayımcı adı. @publishersysname'dir ve varsayılan değer yoktur.
Uyarı
Sunucu adı, varsayılan örnek veya <Hostname>,<PortNumber> adlandırılmış örnek için olarak <Hostname>\<InstanceName>,<PortNumber> belirtilebilir. SQL Server özel bir bağlantı noktasıyla Linux veya Windows'a dağıtıldığında ve tarayıcı hizmeti devre dışı bırakıldığında bağlantınızın bağlantı noktası numarasını belirtin. Uzak dağıtımcı için özel bağlantı noktası numaralarının kullanımı SQL Server 2019 (15.x) ve sonraki sürümler için geçerlidir.
[ @distribution_db = ] N'distribution_db'
Dağıtım veritabanının adı. @distribution_dbsysname'dir ve varsayılan değer yoktur. Bu parametre, çoğaltma aracıları tarafından Yayımcı'ya bağlanmak için kullanılır.
[ @security_mode = ] security_mode
Uygulanan güvenlik modu. Bu parametre yalnızca çoğaltma aracıları tarafından kuyruğa alınmış güncelleştirme abonelikleri veya SQL Server Publisher olmayan bir abonelik için Publisher'a bağlanmak için kullanılır. @security_modeint değeridir ve bu değerlerden biri olabilir.
| Değer | Description |
|---|---|
0 |
Dağıtımcıdaki çoğaltma aracıları, Yayımcı'ya bağlanmak için SQL Server Kimlik Doğrulamasını kullanır. |
1 (varsayılan) |
Dağıtımcıdaki çoğaltma aracıları, Yayımcı'ya bağlanmak için Windows Kimlik Doğrulaması'nı kullanır. |
[ @login = ] N'login'
Oturum açma.
security_mode ise bu 0parametre gereklidir.
@loginsysname değeridir ve varsayılan değeri .NULL Bu parametre, çoğaltma aracıları tarafından Yayımcı'ya bağlanmak için kullanılır.
[ @password = ] N'password'
Parola.
@passwordsysname değeridir ve varsayılan değeri .NULL Bu parametre, çoğaltma aracıları tarafından Yayımcı'ya bağlanmak için kullanılır.
Önemli
Boş parola kullanmayın. Güçlü bir parola kullanın.
[ @working_directory = ] N'working_directory'
Yayının verilerini ve şema dosyalarını depolamak için kullanılan çalışma dizininin adı.
@working_directorynvarchar(255) şeklindedir ve varsayılan olarak ReplData bu SQL Server örneğinin klasörünü kullanır. Örneğin, C:\Program Files\Microsoft SQL Server\MSSQL\MSSQL.1\ReplData. Ad UNC biçiminde belirtilmelidir.
Azure SQL Veritabanı için kullanın \\<storage_account>.file.core.windows.net\<share>.
[ @trusted = ] N'trusted'
@trusted kullanım dışıdır ve yalnızca geriye dönük uyumluluk için sağlanır.
@trusted , varsayılan değeri olan nvarchar(5) değeridir false. Bu parametreyi herhangi bir şeye false ayarlamak hatayla sonuçlanır.
[ @encrypted_password = ] encrypted_password
Bu parametrenin ayarlanması artık desteklenmiyor.
@encrypted_passwordbittir ve varsayılan değeridir 0. Bu parametrenin ayarlı olması 1 hataya neden olur.
[ @thirdparty_flag = ] thirdparty_flag
Publisher'ın SQL Server olduğunu belirtir. @thirdparty_flagbittir ve aşağıdaki değerlerden biri olabilir.
| Değer | Description |
|---|---|
0 (varsayılan) |
SQL Server veritabanı. |
1 |
SQL Server dışındaki veritabanı. |
[ @publisher_type = ] N'publisher_type'
Publisher, SQL Server olmadığında Publisher türünü belirtir. @publisher_typesysname'dir ve aşağıdaki değerlerden biri olabilir.
| Değer | Description |
|---|---|
MSSQLSERVER (varsayılan) |
BIR SQL Server Publisher belirtir. |
ORACLE |
Standart bir Oracle Publisher belirtir. |
ORACLE GATEWAY |
Oracle Gateway Publisher belirtir. |
Oracle Publisher ile Oracle Gateway Publisher arasındaki farklar hakkında daha fazla bilgi için bkz. Oracle Publisher'ı yapılandırma.
[ @storage_connection_string = ] N'storage_connection_string'
Azure SQL Veritabanı için gereklidir.
@storage_connection_stringnvarchar(255), varsayılan değeridir NULL. Azure portalındaki Depolama > Ayarları'nın altındaki erişim anahtarını kullanın.
Uyarı
Azure SQL Veritabanı'nda yayımcı ve dağıtımcı veritabanları için SQL Yönetilen Örneği gerekir. Daha fazla bilgi için bkz. Azure SQL Veritabanı'na çoğaltma.
Dönüş kodu değerleri
0 (başarı) veya 1 (başarısızlık).
Açıklamalar
sp_adddistpublisher anlık görüntü çoğaltma, işlem çoğaltması ve birleştirme çoğaltması tarafından kullanılır.
Örnekler
-- 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
yalnızca sysadmin sabit sunucu rolünün üyeleri yürütebilir sp_adddistpublisher.