Udostępnij za pośrednictwem


Jak Konfigurowanie publikacji, aby umożliwić synchronizację sieci Web (Programowanie replikacji Transact-SQL)

W tym temacie opisano pierwszy krok w procesie konfigurowania sieci synchronizacja w sieci Web replikacja scalająca.Omówienie procesu konfiguracja, zobacz Jak Konfigurowanie sieci Web synchronizacji replikacji scalania (Programowanie replikacji Transact-SQL).Po zakończeniu procedury opisane w tym temacie nadal drugi etap konfigurowania komputera z systemem Microsoft Internet Information Services (IIS).Ten drugi etap jest opisany w Jak Skonfigurować usługi IIS Web synchronizacji.

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

Aby skonfigurować nową publikacja

  1. Wydawca, należy wykonać sp_addmergepublication.Dla publikacja @, określ nazwę publikacja, a dla @ allow_web_synchronization, określ wartość true.Określ inne parametry.Jeśli subskrybentów będzie łączyć się tylko z Wydawca za pośrednictwem protokołu HTTP, także określić wartość true dla @ allow_anonymous.

  2. Wydawca, aby dodać zadanie agenta migawki dla tej publikacja, wykonać sp_addpublication_snapshot.Aby uzyskać więcej informacji, zobacz Jak Tworzenie publikacji (Programowanie replikacji Transact-SQL).

  3. Artykułów dla tej nowej publikacja.Aby uzyskać więcej informacji, zobacz Jak Definiowanie artykuł (Programowanie replikacji Transact-SQL).

Aby skonfigurować istniejącą publikacja

  1. Wykonanie sp_helpmergepublication.Dla publikacja @, określ nazwę istniejącej publikacja.

  2. Jeśli wartość allow_web_synchronization w wyniku zestaw jest 1, synchronizacja w sieci Web jest już skonfigurowany dla publikacja.Jeśli wartość allow_web_synchronization w wyniku zestaw jest 0, synchronizacja w sieci Web musi być włączony.

  3. Wykonanie sp_changemergepublication.Dla publikacja @, określ nazwę istniejącej publikacja; dla @ Właściwość, określ wartość allow_web_synchronization; i wartość @, określ wartość true.

  4. (Opcjonalnie) Jeśli subskrybentów będzie łączyć się tylko z Wydawca za pośrednictwem protokołu HTTP, wykonać sp_changemergepublication.Dla publikacja @, określ nazwę istniejącej publikacja; dla @ Właściwość, określ wartość allow_anonymous; i wartość @, określ wartość true.

Przykład

Poniższy przykład tworzy publikacja, który jest włączony dla 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".

--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'AdventureWorks2008R2'; 
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 AdventureWorks2008R2 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