Vorgehensweise: Konfigurieren einer Veröffentlichung für die Websynchronisierung (Replikationsprogrammierung mit Transact-SQL)

Dieses Thema beschreibt den ersten Schritt zur Konfiguration der Websynchronisierung für die Mergereplikation. Eine Übersicht über den Konfigurationsprozess bietet Vorgehensweise: Konfigurieren der Websynchronisierung für die Mergereplikation (Replikationsprogrammierung mit Transact-SQL). Nachdem Sie die Verfahren in diesem Thema ausgeführt haben, fahren Sie mit dem zweiten Schritt fort, bei dem der Computer konfiguriert wird, auf dem die Microsoft Internetinformationsdienste (Internet Information Services, IIS) ausgeführt werden. Dieser zweite Schritt wird in Vorgehensweise: Konfigurieren von IIS für die Websynchronisierung beschrieben.

In diesem Thema werden die Parameter beschrieben, die für die Websynchronisierung erforderlich sind. Weitere Informationen dazu, wie Veröffentlichungen erstellt werden, finden Sie unter Vorgehensweise: Erstellen einer Veröffentlichung (Replikationsprogrammierung mit Transact-SQL).

So konfigurieren Sie eine neue Veröffentlichung

  1. Führen Sie auf dem Verleger sp_addmergepublication aus. Geben Sie den Namen der Veröffentlichung für @publication und für @allow_web_synchronization den Wert true an. Geben Sie alle anderen Parameter an. Wenn Abonnenten nur eine Verbindung über HTTP mit dem Verleger herstellen, geben Sie auch den Wert true für @allow_anonymous an.

  2. Um einen Snapshot-Agentauftrag für diese Veröffentlichung hinzuzufügen, führen Sie auf dem Verleger sp_addpublication_snapshot aus. Weitere Informationen finden Sie unter Vorgehensweise: Erstellen einer Veröffentlichung (Replikationsprogrammierung mit Transact-SQL).

  3. Definieren Sie Artikel für diese neue Veröffentlichung. Weitere Informationen finden Sie unter Vorgehensweise: Definieren eines Artikels (Replikationsprogrammierung mit Transact-SQL).

So konfigurieren Sie eine vorhandene Veröffentlichung

  1. Führen Sie sp_helpmergepublication aus. Geben Sie für @publication den Namen der vorhandenen Veröffentlichung an.

  2. Wenn der Wert von allow_web_synchronization im Resultset 1 ist, ist die Websynchronisierung für die Veröffentlichung bereits aktiviert. Wenn der Wert von allow_web_synchronization im Resultset 0 ist, muss die Websynchronisierung aktiviert werden.

  3. Führen Sie sp_changemergepublication aus. Geben Sie für @publication den Namen der vorhandenen Veröffentlichung, für @property den Wert allow_web_synchronization und für @value den Wert true an.

  4. (Optional) Wenn Abonnenten nur eine Verbindung über HTTP mit dem Verleger herstellen, führen Sie sp_changemergepublication aus. Geben Sie für @publication den Namen der vorhandenen Veröffentlichung, für @property den Wert allow_anonymous und für @value den Wert true an.

Beispiel

Im folgenden Beispiel wird eine Veröffentlichung erstellt, die für Websynchronisierung aktiviert ist.

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

--Declarations for adding a merge publication
DECLARE @publicationDB AS sysname;
DECLARE @publication AS sysname;
DECLARE @websyncurl AS nvarchar(256);
DECLARE @login AS sysname;
DECLARE @password AS sysname;
SET @publicationDB = N'AdventureWorks'; 
SET @publication = N'AdvWorksSalesOrdersMerge'; 
SET @websyncurl = 'https://' + $(WebServer) + '/WebSync';
SET @login = $(Login);
SET @password = $(Password);

-- Enable merge replication on the publication database, using defaults.
USE master
EXEC sp_replicationdboption 
  @dbname=@publicationDB, 
  @optname=N'merge publish',
  @value = N'true' 

-- Create a new merge publication, explicitly setting the defaults. 
EXEC sp_addmergepublication 
    @publication = @publication,
    -- optional parameters 
    @description = N'Merge publication of AdventureWorks using Web synchronization.',
    @publication_compatibility_level  = N'90RTM',
    -- Enable Web synchronization.
    @allow_web_synchronization = N'true',
    -- Web synchronization URL hint used by SQL Server Management Studio.
    @web_synchronization_url = @websyncurl;

-- Create a new snapshot job for the publication.
EXEC sp_addpublication_snapshot 
    @publication = @publication, 
    @job_login = @login, 
    @job_password = @password;
GO