Aracılığıyla paylaş


Nasıl yapılır: Web eşitleme (çoğaltma Transact-SQL programlama) kullanmak için bir abonelik yapılandırma

Bu konudaki yordam, yapılandırma Web üzerinden eşitleme için birleştirme üçüncü adımıdır çoğaltma.yayın etkinleştirmek ve çalıştıran bilgisayarı yapılandırmak sonra bu adımı gerçekleştirmeniz Microsoft Internet Information Services (IIS).Yapılandırma işlemine genel bakış için bkz: Nasıl yapılır: Birleştirme çoğaltma (çoğaltma Transact-SQL programlama) Web eşitleme Yapılandır.Yalnızca bağlanabilir aboneleri için Web üzerinden eşitleme kullanmak için bir abonelik yapılandırma ne zaman Yayımcı http yayın düzgün şekilde yapılandırmalısınız.Daha fazla bilgi için bkz: Nasıl yapılır: Web eşitleme (çoğaltma Transact-SQL programlama) izin vermek için yayını yapılandırma.Bu konudaki yordam tamamlandıktan sonra oluşturduğunuz abonelik eşitleyin.Daha fazla bilgi için bkz: Nasıl yapılır: Çekme abonelik (çoğaltma programlama) Eşitle.

Bu konuda tarafından Web üzerinden eşitleme için gerekli olan parametreleri açıklar.Çekme abonelikleri oluşturma hakkında daha fazla bilgi için bkz: Nasıl yapılır: Çekme abonelik (çoğaltma Transact-SQL programlama) oluştur.

Önemli notÖnemli

Web sunucusu Web üzerinden eşitleme için kullanılan url (https:// gibiserver.etki alanı.com/dizini/replisapi.dll) replisapi.dll konumunu belirtir.Sunucu Güvenli Yuva Katmanı (ssl) için varsayılan bağlantı noktası 443'den farklı bir bağlantı noktası kullanmak üzere yapılandırılmışsa, bağlantı noktası olarak da sağlamanız gerekir: https://server.etki alanı.com:BağlantıNoktasıNumarası/dizini/replisapi.dll.URL'deki sunucu adını sertifika oluşturulduğunda kullanılan adıyla aynı olması gerekir.Örneğin, bir intranet üzerinde https:// bir Web sunucusuna erişmek mümkün olabilirserver/.Ancak, tam adı (https:// gibiserver.etki alanı.com/) sertifika oluşturulduğunda kullanılan Web hizmet URL'SİNDE bu tam adı kullanmanız gerekir.

Bir abonelik Web üzerinden eşitleme kullanmak üzere yapılandırmak için

  1. Yayımcı tarafında yürütmek sp_addmergesubscription.İçin değerleri belirtmek @ yayın, @ abone, @ subscriber_db, değeri çekme için @ subscription_type.Bu istek temelli abonelik sırasında yayımcı kaydeder.

  2. istek temelli abonelik oluşturmak için Abone tarafında yürütmek sp_addmergepullsubscription, değerlerini belirtme @ yayın, @ publisher, ve @ publisher_db.

  3. Abone tarafında yürütmek sp_addmergepullsubscription_agent, değerlerini belirtme @ publisher, @ publisher_db, @ yayın, değeri 1 için @ use_web_syncve aşağıdaki parametreleri için değerleri:

    • @ internet_url , replisapi.dll konumdur.

    • @ internet_security_mode bilgisayara abone bağlantılarını yaparken, IIS çalışırken, Birleştirme Aracısı kullanacağı güvenlik modudur.Değeri, 0 temel kimlik doğrulaması; belirleyen değeri, 1 (varsayılan), Windows tümleşik kimlik doğrulaması kullanılır belirtir.

    • @ internet_login bilgisayara abone bağlantılarını yaparken IIS temel kimlik doğrulaması kullanarak çalışırken, Birleştirme Aracısı kullanacağı login olduğu.

    • @ internet_password bilgisayara abone bağlantılarını yaparken IIS temel kimlik doğrulaması kullanarak çalışırken, Birleştirme Aracısı kullanacak paroladır.

    Not

    Bir abonelik Web üzerinden eşitleme kullanarak eşitlemek için karşıya yükleme ve karşıdan yükleme aşamaları etkinleştirilmiş olmalıdır.

Yalnızca bağlanabilir aboneleri için Web üzerinden eşitleme kullanmak için bir abonelik yapılandırma Yayımcı http kullanarak bir Web sunucusu aracılığıyla

  1. istek temelli abonelik oluşturmak için Abone tarafında yürütmek sp_addmergepullsubscription, değeri belirterek Anonim için @ subscriber_type ve için değer @ yayın, @ publisher, ve @ publisher_db.

  2. Abone tarafında yürütmek sp_addmergepullsubscription_agent, değerlerini belirtme @ publisher, @ publisher_db, @ yayın, değeri 1 için @ use_web_syncve aşağıdaki parametreleri için değerleri:

    • @ internet_url , replisapi.dll konumdur.

    • @ internet_security_mode bilgisayara abone bağlantılarını yaparken, IIS çalışırken, Birleştirme Aracısı kullanacağı güvenlik modudur.Değeri, 0 temel kimlik doğrulaması; belirleyen değeri, 1 (varsayılan), Windows tümleşik kimlik doğrulaması kullanılır belirtir.

    • @ internet_login bilgisayara abone bağlantılarını yaparken IIS temel kimlik doğrulaması kullanarak çalışırken, Birleştirme Aracısı kullanacağı login olduğu.

    • @ internet_password bilgisayara abone bağlantılarını yaparken IIS temel kimlik doğrulaması kullanarak çalışırken, Birleştirme Aracısı kullanacak paroladır.

    Not

    Bir abonelik Web üzerinden eşitleme kullanarak eşitlemek için karşıya yükleme ve karşıdan yükleme aşamaları etkinleştirilmiş olmalıdır.

Örnek

Aşağıdaki örnek Web üzerinden eşitleme kullanarak yayımcı ile eşitlenmiş abonelik oluşturur.

-- 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".

-- Execute this batch at the Subscriber.
DECLARE @publication AS sysname;
DECLARE @publisher AS sysname;
DECLARE @publicationDB AS sysname;
DECLARE @websyncurl AS sysname;
DECLARE @security_mode AS int;
DECLARE @login AS sysname;
DECLARE @password AS nvarchar(512);
SET @publication = N'AdvWorksSalesOrdersMerge';
SET @publisher = $(PubServer);
SET @publicationDB = N'AdventureWorks2008R2';
SET @websyncurl = 'https://' + $(WebServer) + '/WebSync';
SET @security_mode = 0; -- Basic Authentication for IIS 
SET @login = $(Login);
SET @password = $(Password);

-- At the subscription database, create a pull subscription 
-- to a merge publication.
USE [AdventureWorks2008R2Replica]
EXEC sp_addmergepullsubscription 
    @publisher = @publisher, 
    @publication = @publication, 
    @publisher_db = @publicationDB;

-- Add an agent job to synchronize the pull subscription. 
EXEC sp_addmergepullsubscription_agent 
    @publisher = @publisher, 
    @publisher_db = @publicationDB, 
    @publication = @publication, 
    @distributor = @publisher, 
    @job_login = @login, 
    @job_password = @password,
    @use_web_sync = 1,
    @internet_security_mode = @security_mode,
    @internet_url = @websyncurl,
    @internet_login = @login,
    @internet_password = @password;
GO

USE [AdventureWorks2008R2]
GO

-- Execute this batch at the Publisher.
DECLARE @publication AS sysname;
DECLARE @subscriber AS sysname;
DECLARE @subscriptionDB AS sysname;
SET @publication = N'AdvWorksSalesOrdersMergeWebSync';
SET @subscriber = $(SubServer);
SET @subscriptionDB = N'AdventureWorks2008R2Replica';

-- At the Publisher, register the subscription, using the defaults.
EXEC sp_addmergesubscription 
    @publication = @publication, 
    @subscriber = @subscriber, 
    @subscriber_db = @subscriptionDB, 
    @subscription_type = N'pull';
GO

Aşağıdaki örnek, yalnızca Publisher Web sunucusu üzerinden http kullanarak bağlanabilir bir abone için Web üzerinden eşitleme kullanarak yayımcı ile eşitlenmiş abonelik oluşturur.

-- 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".

-- Publication must support anonymous Subscribers.
-- Execute this batch at the Subscriber.
DECLARE @publication AS sysname;
DECLARE @publisher AS sysname;
DECLARE @publicationDB AS sysname;
DECLARE @websyncurl AS sysname;
DECLARE @security_mode AS int;
DECLARE @login AS sysname;
DECLARE @password AS nvarchar(512);
SET @publication = N'AdvWorksSalesOrdersMergeWebSync';
SET @publisher = $(PubServer);
SET @publicationDB = N'AdventureWorks2008R2';
SET @websyncurl = 'https://' + $(WebServer) + '/WebSync';
SET @security_mode = 0; -- Basic Authentication for IIS
SET @login = $(Login);
SET @password = $(Password);

-- At the subscription database, create a pull subscription 
-- to a merge publication.
USE [AdventureWorks2008R2Replica]
EXEC sp_addmergepullsubscription 
    @publisher = @publisher, 
    @publication = @publication, 
    @publisher_db = @publicationDB,
    @subscriber_type = N'anonymous';

-- Add an agent job to synchronize the pull subscription. 
EXEC sp_addmergepullsubscription_agent 
    @publisher = @publisher, 
    @publisher_db = @publicationDB, 
    @publication = @publication, 
    @distributor = @publisher, 
    @job_login = @login, 
    @job_password = @password,
    @use_web_sync = 1,
    @internet_security_mode = @security_mode,
    @internet_url = @websyncurl,
    @internet_login = @login,
    @internet_password = @password;
GO