Konfigurera webbsynkronisering

gäller för:SQL Server

Webbsynkroniseringsalternativet för SQL Server Merge Replication möjliggör datareplikering genom att använda HTTPS-protokollet över Internet. För att använda webbsynkronisering, slutföra först följande konfigurationssteg:

  1. Skapa nya domänkonton och mappa SQL Server-inloggningar.

  2. Konfigurera den dator som kör Microsoft Internet Information Services (IIS) för att synkronisera prenumerationer.

  3. Konfigurera en sammanslagningspublikation så att webbsynkronisering tillåts.

  4. Konfigurera en eller flera prenumerationer att använda webbsynkronisering.

Not

Om du planerar att replikera stora mängder data eller använda stora datatyper som varchar(max)läser du avsnittet "Replikera stora datavolymer" i det här avsnittet.

För att framgångsrikt sätta upp webbsynkronisering måste du bestämma hur du ska konfigurera säkerheten för att uppfylla dina specifika krav och policyer. Fatta dessa beslut och skapa nödvändiga konton innan du försöker konfigurera IIS, publikationen och prenumerationerna.

Följande procedurer beskriver en förenklad säkerhetskonfiguration som använder lokala konton. Denna förenklade konfiguration är lämplig för installationer där både IIS och SQL Server Publisher och Distributor körs på samma dator, även om det är mycket mer sannolikt (och rekommenderat) att du använder en multiserver-topologi för en produktionsinstallation. Du kan ersätta domänkonton för de lokala kontona i procedurerna.

Skapa nya konton och mappa SQL Server-inloggningar

SQL Server Replication Listener (replisapi.dll) ansluter till Publisher genom att imitera det konto du anger för applikationspoolen som är kopplad till replikeringswebbplatsen.

Det konto du använder för SQL Server Replication Listener behöver de behörigheter som beskrivs i Merge Agent Security, under avsnittet "Connect to the Publisher or Distributor." Sammanfattningsvis måste kontot:

  • Vara medlem i publikationens åtkomstlista (PAL).

  • Mappas till en inloggning som är associerad med en användare i publikationsdatabasen.

  • Mappas till en inloggning som är associerad med en användare i distributionsdatabasen.

  • Ha läsbehörighet för ögonblicksbildresursen.

Om detta är första gången du använder SQL Server Replication behöver du också skapa konton och inloggningar för replikationsagenterna. För mer information, se avsnitten "Konfigurera publikationen" och "Konfigurera prenumerationen" i denna artikel.

Innan du konfigurerar webbsynkronisering, läs avsnittet "Säkerhets bästa praxis för webbsynkronisering" i denna artikel. Mer information om webbsynkroniseringssäkerhet finns i Säkerhetsarkitektur för webbsynkronisering.

Konfigurera den dator som kör IIS

Webbsynkronisering kräver att du installerar och konfigurerar IIS. Du behöver URL:en till replikationswebbplatsen innan du kan konfigurera en publikation för att använda webbsynkronisering.

Webbsynkronisering stöds på IIS från och med version 5.0. Configure Web Synchronization Wizard stöds inte på IIS version 7.0. Från och med SQL Server 2012, för att använda Web sync-komponenten på IIS-servern, installera SQL Server med replikering. Detta kan vara den kostnadsfria SQL Server Express-utgåvan.

TLS krävs för webbsynkronisering. Du behöver ett säkerhetscertifikat utfärdat av en certifieringsmyndighet. Endast i testsyfte kan du använda ett självutfärdat säkerhetscertifikat.

Konfigurera IIS för webbsynkronisering

Skapa en webbträdgård

SQL Server Replication Listener stöder två samtidiga synkroniseringsåtgärder per tråd. Att överskrida denna gräns kan få replikationslyssnaren att sluta svara. Egenskapen Maximum Worker Processes för programpoolen avgör antalet trådar som tilldelas replisapi.dll. Som standard är denna egenskap satt till 1.

Du kan hantera ett större antal samtidiga synkroniseringsåtgärder per CPU genom att öka egenskapsvärdet för Max Worker Processes. Att skala ut genom att öka antalet arbetsprocesser per PROCESSOR kallas för att skapa en "webbträdgård".

Webbträdgård tillåter fler än två prenumeranter att synkronisera samtidigt. Det ökar också CPU-användningen med replisapi.dll, vilket kan påverka serverns totala prestanda negativt. Väg dessa överväganden när du väljer ett värde för Maximum Worker Processes.

Öka maximalt antal arbetsprocesser i IIS 7

  1. I IIS-hanteraren (Internet Information Services)expanderar du den lokala servernoden och klickar sedan på noden programpool.

  2. Välj den programpool som är associerad med webbplatsen för webbsynkronisering och klicka sedan på Avancerade inställningar i fönstret Åtgärder.

  3. I dialogrutan Avancerade inställningar under rubriken processmodell klickar du på raden med etiketten Maximalt antal arbetsprocesser. Ändra egenskapsvärdet och klicka sedan på OK.

Konfigurera publiceringen

För att använda webbsynkronisering, skapa en publikation på samma sätt som du skapar en standard merge-topologipublikation. Mer information finns i Publicera data och databasobjekt.

Efter att ha skapat publikationen, aktivera alternativet att tillåta webbsynkronisering genom att använda någon av följande metoder: SQL Server Management Studio, Transact-SQL eller Replication Management Objects (RMO). För att aktivera webbsynkronisering måste du ange webbserveradressen för abonnentanslutningar.

Om du använder en Publisher för första gången måste du också konfigurera en Distributor och en snapshot share. Sammanslagningsagenten för varje prenumerant måste ha läsbehörighet för ögonblicksbildresursen. Mer information finns i Konfigurera distribution och Skydda ögonblicksbildmappen.

gen är ett reserverat ord i websync-XML-filer. Försök inte publicera tabeller som innehåller kolumner som heter gen.

Konfigurera prenumerationen

När du har aktiverat en publikation och konfigurerat IIS skapar du en pull-prenumeration och anger att pull-prenumerationen ska synkroniseras med hjälp av IIS. (Webbsynkronisering stöds endast för pull-prenumerationer.)

Uppgradering från en tidigare version av SQL Server

Om du har en befintlig webbsynkroniseringstopologi konfigurerad och uppgraderar SQL Server, se till att den senaste versionen av replisapi.dll kopieras till den virtuella katalog som används av webbsynkronisering. Som standard finns den senaste versionen av replisapi.dll i C:\Program Files\Microsoft SQL Server\<nnn>\COM.

Replikering av stora datavolymer

För att undvika potentiella minnesproblem på prenumerantdatorer använder webbsynkronisering en standardmaximal storlek på 100 MB för XML-filen som används för att överföra ändringar. Höj gränsen genom att sätta följande registernyckel:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\Replication

WebSyncMaxXmlSize DWORD 20000000

Intervallet för acceptabla värden för denna nyckel är 100 MB till 4 GB. Värdet anges i KB. Att sätta denna parameter till ett högt värde garanterar inte att du kan synkronisera den mängden data. Den effektiva gränsen begränsas av hur mycket sammanhängande minne som är tillgängligt på prenumerantdatorn. Om du måste ha ett värde större än 100 MB, öka värdet stegvis och testa minnesförbrukningen med en typisk arbetsbelastning på prenumeranten.

Den maximala storleken för XML-filen är 4 GB, men replikeringen synkroniserar ändringarna från filen i batchar. Den maximala batchstorleken för data och metadata är 25 MB. Du måste säkerställa att datan i varje batch inte överstiger cirka 20 MB, vilket möjliggör metadata och annan överhead. Den här gränsen har följande konsekvenser:

  • Du kan inte replikera någon kolumn som gör att data och metadata överstiger 25 MB. Denna gräns kan vara ett problem när du replikerar rader som innehåller stora datatyper, som varchar(max).

  • Om du replikerar stora datamängder kan du behöva justera Merge Agent-batchstorleken.

Batchstorleken för sammanslagningsreplikering mäts i generationer, som är samlingar med ändringar per artikel. Använd parametrarna -DownloadGenerationsPerBatch och -UploadGenerationsPerBatch i Merge Agent för att specificera antalet generationer i en batch. Mer information finns i Replication Merge Agent.

För stora mängder data anger du ett litet tal för var och en av batchparametrarna. Börja med ett värde på 10 och justera sedan baserat på applikationens behov och prestanda. Vanligtvis specificerar du dessa parametrar i en agentprofil. Mer information om profiler finns i Replikeringsagentprofiler.

Säkerhetspraxis för webbsynkronisering

Webbsynkronisering erbjuder många valmöjligheter för säkerhetsrelaterade miljöer. Använd följande metod:

  • SQL Server-distributören och Publisher kan finnas på samma dator (en typisk konfiguration för sammanslagningsreplikering). Men installera IIS på en separat dator.

  • Använd Transport Layer Security (TLS), som tidigare kallades Secure Sockets Layer (SSL), för att kryptera anslutningen mellan prenumeranten och den dator som kör IIS. Webbsynkronisering kräver denna kryptering.

  • Använd Grundläggande autentisering för anslutningar från prenumeranten till IIS. Genom att använda Basic Authentication kan IIS skapa anslutningar till Publisher/Distributor å abonnentens vägnar utan att delegera dem. Delegering krävs om du använder integrerad autentisering.

    Not

    Grundläggande autentisering är den metod med vilken autentiseringsuppgifter skickas till IIS. Grundläggande autentisering hindrar inte att specificera Windows-domänkonton för anslutningar som görs till IIS.

  • Ange att Snapshot Agent körs under ett Windows-domänkonto, och ange att agenten gör anslutningar som det kontot. (Detta är standardkonfigurationen.) Ange att varje Merge Agent körs under domänkontot för användaren som använder Subscriber-datorn, och ange att agenten gör anslutningar som det kontot.

    För mer information om vilka behörigheter agenter kräver, se Replication Agent Security Model.

  • Ange samma domänkonto som det som sammanslagningsagenten använder när du anger ett konto och lösenord på sidan webbserverinformation i guiden Ny prenumeration eller när du anger värden för parametrarna @internet_url och @internet_login för sp_addpullsubscription_agent. Det här kontot måste ha läsbehörighet för ögonblicksbildsdelningen.

  • Varje publikation bör använda en separat virtuell katalog för IIS.

  • Det konto som SQL Server Replication Listener (replisapi.dll) körs under är också det konto som ansluter till Publisher och Distributor under synkroniseringen. Detta konto måste mappas till ett SQL Server-inloggningskonto på Publisher and Distributor. Mer information finns i avsnittet "Ange behörigheter för SQL Server Replication Listener" i Konfigurera IIS för webbsynkronisering.

  • Du kan använda FTP för att leverera snapshoten från Publisher till datorn som kör IIS. Datorn som kör IIS levererar alltid snapshoten till prenumeranten genom att använda HTTPS. Mer information finns i Överföra ögonblicksbilder via FTP-.

  • Om servrarna i replikeringstopologin finns bakom en brandvägg kan du behöva öppna portarna i brandväggen för att aktivera webbsynkronisering.

    • Abonnentdatorn ansluter till datorn som kör IIS över HTTPS genom att använda TLS, som vanligtvis är konfigurerad för port 443. SQL Server Compact-prenumeranter kan också ansluta via HTTP, som vanligtvis är konfigurerat för att använda port 80.

    • Datorn som kör IIS ansluter vanligtvis till Publisher eller Distributor via port 1433 (standardinstans). När utgivaren eller distributören är en namngiven instans på en server med en annan standardinstans används port 1500 vanligtvis för att ansluta till den namngivna instansen.

    • Om datorn som kör IIS är separerad från distributören av en brandvägg och en FTP-delning används för snapshot-leverans, måste du öppna portarna som används för FTP. Mer information finns i Överföra ögonblicksbilder via FTP-.

Viktig

Om du öppnar portar i brandväggen kan servern utsättas för skadliga attacker. Se till att du förstår brandväggssystem innan du öppnar portar. Mer information finns i säkerhetsöverväganden för en SQL Server-installation.