Jak Konfigurowanie subskrypcji do użycia w sieci Web synchronizacji (Programowanie replikacji Transact-SQL)

W tym temacie procedurą jest trzeci krok w procesie konfigurowania sieci synchronizacja w sieci Web replikacja scalająca.Wykonaj ten krok po publikacja włączyć i skonfigurować komputer z systemem Microsoft Internet Information Services (IIS).Omówienie procesu konfiguracja, zobacz Jak Konfigurowanie sieci Web synchronizacji replikacji scalania (Programowanie replikacji Transact-SQL).Podczas konfigurowania subskrypcja subskrybenci mogą łączyć się tylko z Wydawca za pośrednictwem protokołu HTTP za pomocą sieci synchronizacja w sieci Web, należy poprawnie skonfigurować publikacji.Aby uzyskać więcej informacji, zobacz Jak Konfigurowanie publikacji, aby umożliwić synchronizację sieci Web (Programowanie replikacji Transact-SQL).Po zakończeniu procedury w tym temacie zsynchronizować subskrypcja zostały utworzone.Aby uzyskać więcej informacji, zobacz Jak Synchronizowanie subskrypcji ściąganej (Programowanie replikacji).

W tym temacie opisano parametry, które są wymagane przez synchronizacja w sieci Web.Aby uzyskać więcej informacji na temat tworzenia ściągać subskrypcji, zobacz Jak Tworzenie subskrypcji ściąganej (Programowanie replikacji Transact-SQL).

Ważna informacjaWażne:

Adres URL serwera sieci Web, która służy do synchronizacja w sieci Web (takie jak https://server.domena.com/katalog/replisapi.dll) określa lokalizację replisapi.dll.Jeśli serwer jest skonfigurowany do używania portu innego niż domyślny port 443 dla protokołu SSL (Secure Sockets Layer), należy podać także port jako: https://serwer.domena.com:numer_portu/katalog/replisapi.dll.Nazwa serwera w adresie URL musi być taka sama jak nazwa, używany podczas tworzenia certyfikat.Na przykład w intranecie, można na dostęp do serwera sieci Web poprzez https://server/.Jednak jeśli w pełni kwalifikowana nazwa (takich jak https://serwer.domena.com/) został użyty podczas tworzenia certyfikat, należy użyć to w pełni kwalifikowana nazwa, adres URL usługa sieci Web.

Aby skonfigurować subskrypcja, aby użyćsynchronizacja w sieci Web

  1. Wydawca, należy wykonać sp_addmergesubscription.Określ wartości publikacja @, @ subskrybent, @ subscriber_dbi wartość ściągać dla @ subscription_type.Rejestruje to subskrypcja wciągana przez wydawcę.

  2. Subskrybent utworzyć subskrypcja wciągana, wykonać sp_addmergepullsubscription, określanie wartości dla publikacja @, programu publisher @, i @ publisher_db.

  3. Subskrybent, wykonać sp_addmergepullsubscription_agent, określanie wartości dla programu publisher @, @ publisher_db, publikacja @, wartość 1 dla @ use_web_synci wartości dla następujących parametrów:

    • @ internet_url znajduje się replisapi.dll.

    • @ internet_security_mode jest w trybie zabezpieczeń scalić Agent używany podczas tworzenia połączeń z komputerem z subskrybenta działa program IIS.Wartość 0 Określa, że jest używane uwierzytelnianie podstawowe; wartość 1 (domyślnie) określa, że jest używane zintegrowane uwierzytelnianie systemu Windows.

    • @ internet_login jest scalanie Agent używany podczas tworzenia połączeń z komputerem z subskrybenta działa program IIS przy użyciu uwierzytelniania podstawowego identyfikatora logowania.

    • @ internet_password jest hasło agenta scalić używany podczas tworzenia połączeń z komputerem z subskrybenta działa program IIS przy użyciu uwierzytelniania podstawowego.

    Ostrzeżenie

    Aby zsynchronizować subskrypcja za pomocą sieci synchronizacja w sieci Web, fazy wysyłanie i pobieranie musi być włączony.

Aby skonfigurować subskrypcja subskrybenci mogą łączyć się tylko z Wydawca za pośrednictwem serwera sieci Web przy użyciu protokołu HTTP za pomocą sieci synchronizacja w sieci Web

  1. Subskrybent utworzyć subskrypcja wciągana, wykonać sp_addmergepullsubscription, określając wartość anonimowych dla @ subscriber_type i wartości publikacja @, programu publisher @, i @ publisher_db.

  2. Subskrybent, wykonać sp_addmergepullsubscription_agent, określanie wartości dla programu publisher @, @ publisher_db, publikacja @, wartość 1 dla @ use_web_synci wartości dla następujących parametrów:

    • @ internet_url znajduje się replisapi.dll.

    • @ internet_security_mode jest w trybie zabezpieczeń scalić Agent używany podczas tworzenia połączeń z komputerem z subskrybenta działa program IIS.Wartość 0 Określa, że jest używane uwierzytelnianie podstawowe; wartość 1 (domyślnie) określa, że jest używane zintegrowane uwierzytelnianie systemu Windows.

    • @ internet_login jest scalanie Agent używany podczas tworzenia połączeń z komputerem z subskrybenta działa program IIS przy użyciu uwierzytelniania podstawowego identyfikatora logowania.

    • @ internet_password jest hasło agenta scalić używany podczas tworzenia połączeń z komputerem z subskrybenta działa program IIS przy użyciu uwierzytelniania podstawowego.

    Ostrzeżenie

    Aby zsynchronizować subskrypcja za pomocą sieci synchronizacja w sieci Web, fazy wysyłanie i pobieranie musi być włączony.

Przykład

Poniższy przykład tworzy subskrypcja, który jest synchronizowany z Wydawca za pomocą sieci synchronizacja w sieci Web.

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

Poniższy przykład tworzy subskrypcja, synchronizowane za pomocą sieci synchronizacja w sieci Web subskrybent może łączyć się tylko do Wydawca, za pośrednictwem serwera sieci Web przy użyciu protokołu HTTP z wydawcą.

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