Konfigurera webbsynkronisering
gäller för:SQL Server
Alternativet Webbsynkronisering för SQL Server Merge Replication möjliggör datareplikering med hjälp av HTTPS-protokollet via Internet. Om du vill använda webbsynkronisering måste du först utföra följande konfigurationsåtgärder:
Skapa nya domänkonton och mappa SQL Server-inloggningar.
Konfigurera den dator som kör Microsoft Internet Information Services (IIS) för att synkronisera prenumerationer.
Konfigurera en sammanslagningspublikation så att webbsynkronisering tillåts.
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.
Om du vill konfigurera webbsynkronisering måste du bestämma hur du ska konfigurera säkerhet för att uppfylla dina specifika krav och principer. Det är bäst att fatta dessa beslut och skapa nödvändiga konton innan du försöker konfigurera IIS, publikationen och prenumerationerna.
I de procedurer som följer beskrivs en förenklad säkerhetskonfiguration med lokala konton för korthet. Den här förenklade konfigurationen ä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 troligt (och rekommenderas) att du använder en topologi med flera servrar 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 personifiera kontot som angetts för programpoolen som är associerad med replikeringswebbplatsen.
Kontot som används för SQL Server Replication Listener måste ha behörigheter enligt beskrivningen i Merge Agent Security, under avsnittet "Anslut till utgivaren eller distributören". 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 det är första gången du använder SQL Server-replikering måste du också skapa konton och inloggningar för replikeringsagenterna. Mer information finns i avsnitten "Konfigurera publikationen" och "Konfigurera prenumerationen" i det här avsnittet.
Innan du konfigurerar webbsynkronisering rekommenderar vi att du läser avsnittet "Rekommenderade säkerhetsmetoder för webbsynkronisering" i det här avsnittet. 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 replikeringswebbplatsen innan du kan konfigurera en publikation så att den använder webbsynkronisering.
Webbsynkronisering stöds på IIS från och med version 5.0. Guiden Konfigurera webbsynkronisering stöds inte i IIS version 7.0. Från och med SQL Server 2012 rekommenderar vi att användarna installerar SQL Server med replikering för att använda webbsynkroniseringskomponenten på IIS-servern. 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 certifikatutfärdare. Endast i testsyfte kan du använda ett självutfärdat säkerhetscertifikat.
Konfigurera IIS för webbsynkronisering
SQL Server Management Studio: Konfigurera IIS för webbsynkronisering
SQL Server Management Studio: Konfigurera IIS 7 för webbsynkronisering
Skapa en webbträdgård
SQL Server Replication Listener stöder två samtidiga synkroniseringsåtgärder per tråd. Om den här gränsen överskrids kan replikeringslyssnaren sluta svara. Antalet trådar som allokeras till replisapi.dll bestäms av egenskapen Maximum Worker Processes för programpoolen. Som standard anges den här egenskapen 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".
Med webbträdgård kan fler än två prenumeranter synkronisera samtidigt. Det kommer också att öka processoranvändningen med replisapi.dll, vilket kan påverka den övergripande serverprestandan negativt. Det är viktigt att balansera dessa överväganden när du väljer ett värde för Maximalt antal arbetsprocesser.
Öka maximalt antal arbetsprocesser i IIS 7
I IIS-hanteraren (Internet Information Services)expanderar du den lokala servernoden och klickar sedan på noden programpool.
Välj den programpool som är associerad med webbplatsen för webbsynkronisering och klicka sedan på Avancerade inställningar i fönstret Åtgärder.
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.
Konfigurering av publikationen
Om du vill använda webbsynkronisering skapar du en publikation på samma sätt som för en standardtopologi för sammanfogning. Mer information finns i Publicera data och databasobjekt.
När publikationen har skapats aktiverar du alternativet för att tillåta webbsynkronisering med någon av följande metoder: SQL Server Management Studio, Transact-SQL eller Replication Management Objects (RMO). Om du vill aktivera webbsynkronisering måste du ange webbserveradressen för prenumerantanslutningar.
Om du använder en utgivare för första gången måste du också konfigurera en distributör och en ögonblicksbildsdelning. 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 med namnet 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.)
Uppgradera från en tidigare version av SQL Server
Om du har konfigurerat en befintlig webbsynkroniseringstopologi och uppgraderar SQL Server måste du se till att den senaste versionen av Replisapi.dll kopieras till den virtuella katalogen som används av webbsynkronisering. Som standard finns den senaste versionen av Replisapi.dll i C:\Program Files\Microsoft SQL Server\<nnn>\COM.
Replikera stora datavolymer
För att undvika potentiella minnesproblem på prenumerantdatorer använder webbsynkronisering en maximal standardstorlek på 100 MB för XML-filen som används för att överföra ändringar. Gränsen kan höjas genom att ange följande registernyckel:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\Replication
WebSyncMaxXmlSize DWORD 2000000
Intervallet för acceptabla värden för den här nyckeln är 100 MB till 4 GB. Värdet anges i KB. Att ställa in den här parametern på 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 som är större än 100 MB rekommenderar vi att du ökar värdet stegvis och testar minnesförbrukningen med en typisk arbetsbelastning för 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 se till att data i varje batch inte överskrider cirka 20 MB, vilket möjliggör metadata och andra omkostnader. Den här gränsen har följande konsekvenser:
Du kan inte replikera någon kolumn som gör att data och metadata överskrider 25 MB. Detta kan vara ett problem när du replikerar rader som innehåller stora datatyper, till exempel varchar(max).
Om du replikerar stora mängder data kan du behöva justera batchstorleken för sammanslagningsagenten.
Batchstorleken för sammanslagningsreplikering mäts i generationer, som är samlingar med ändringar per artikel. Antalet generationer i en batch anges med hjälp av parametrarna -DownloadGenerationsPerBatch och -UploadGenerationsPerBatch för Merge Agent. 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. Vi rekommenderar att du börjar med värdet 10 och sedan justerar baserat på programmets behov och prestanda. Dessa parametrar anges vanligtvis i en agentprofil. Mer information om profiler finns i Replikeringsagentprofiler.
Metodtips för säkerhet för webbsynkronisering
Det finns många alternativ för säkerhetsrelaterade inställningar i webbsynkronisering. Vi rekommenderar följande metod:
SQL Server-distributören och Publisher kan finnas på samma dator (en typisk konfiguration för sammanslagningsreplikering). IIS bör dock installeras 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. Detta krävs för webbsynkronisering.
Använd Grundläggande autentisering för anslutningar från prenumeranten till IIS. Med grundläggande autentisering kan IIS upprätta anslutningar till utgivaren/distributören för prenumerantens räkning utan att delegering krävs. Delegering krävs om du använder integrerad autentisering.
Obs
Grundläggande autentisering är den metod med vilken autentiseringsuppgifter skickas till IIS. Grundläggande autentisering förhindrar inte att du anger Windows-domänkonton för anslutningar som görs till IIS.
Ange att Ögonblicksbildsagenten ska köras under ett Windows-domänkonto och ange att agenten ska upprätta anslutningar som det kontot. (Det här är standardkonfigurationen.) Ange att varje sammanslagningsagent ska köras under domänkontot för den användare som använder prenumerantdatorn och ange att agenten ska upprätta anslutningar som det kontot.
Mer information om de behörigheter som krävs av agenter finns i Säkerhetsmodell för replikeringsagent.
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 under vilket SQL Server Replication Listener (Replisapi.dll) körs är också det konto som ansluter till utgivaren och distributören under synkroniseringen. Det här kontot måste mappas till ett SQL-inloggningskonto på utgivaren och distributören. 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 ögonblicksbilden från Publisher till den dator som kör IIS. Ögonblicksbilden levereras alltid från datorn som kör IIS till prenumeranten med hjälp av 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.
Prenumerantdatorn ansluter till den dator som kör IIS via HTTPS med hjälp av TLS, som vanligtvis är konfigurerad för att använda port 443. SQL Server Compact-prenumeranter kan också ansluta via HTTP, som vanligtvis är konfigurerat för att använda port 80.
Den dator som kör IIS ansluter vanligtvis till utgivaren eller distributören med 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 separeras från distributören av en brandvägg och en FTP-resurs används för leverans av ögonblicksbilder måste portarna som används för FTP öppnas. 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.