Konfigurowanie synchronizacji sieci Web
Dotyczy:programu SQL Server
Opcja synchronizacji sieci Web dla replikacji scalania programu SQL Server umożliwia replikację danych przy użyciu protokołu HTTPS przez Internet. Aby użyć synchronizacji sieci Web, najpierw należy wykonać następujące czynności konfiguracyjne:
Utwórz nowe konta domeny i skonfiguruj logowania do SQL Server.
Skonfiguruj komputer z uruchomionymi usługami Microsoft Internet Information Services (IIS), aby synchronizować subskrypcje.
Skonfiguruj publikację scalaną, aby zezwolić na synchronizację sieci Web.
Skonfiguruj co najmniej jedną subskrypcję do korzystania z synchronizacji sieci Web.
Notatka
Jeśli planujesz replikować duże ilości danych lub używać dużych typów danych, takich jak varchar(max), przeczytaj sekcję "Replikowanie dużych ilości danych" w tym temacie.
Aby pomyślnie skonfigurować synchronizację sieci Web, musisz zdecydować, jak skonfigurować zabezpieczenia w celu spełnienia określonych wymagań i zasad. Najlepiej podjąć te decyzje i utworzyć niezbędne konta przed podjęciem próby skonfigurowania usług IIS, publikacji i subskrypcji.
W poniższych procedurach opisano uproszczoną konfigurację zabezpieczeń przy użyciu kont lokalnych w celu zwięzłości. Ta uproszczona konfiguracja jest odpowiednia w przypadku instalacji, w których zarówno usługi IIS, jak i program SQL Server Publisher i dystrybutor są uruchomione na tym samym komputerze, mimo że jest znacznie bardziej prawdopodobne (i zalecane), że do instalacji produkcyjnej będzie używana topologia wielu serwerów. Konta domeny można zastąpić kontami lokalnymi w procedurach.
Tworzenie nowych kont i mapowanie identyfikatorów logowania programu SQL Server
Nasłuchiwacz replikacji programu SQL Server (replisapi.dll) łączy się z programem Publisher, przyjmując tożsamość konta określonego dla puli aplikacji skojarzonej z witryną internetową replikacji.
Konto używane dla odbiornika replikacji programu SQL Server musi mieć uprawnienia zgodnie z opisem w scalanie zabezpieczeń agentaw sekcji "Nawiązywanie połączenia z wydawcą lub dystrybutorem". Podsumowując, konto musi:
Zostań członkiem Listy Dostępu do Publikacji (PAL).
Przypisz do logowania skojarzonego z użytkownikiem w bazie danych publikacji.
Przypisz do identyfikatora użytkownika skojarzonego z użytkownikiem w bazie danych dystrybucji.
Mieć uprawnienia do odczytu udziału migawek.
Jeśli używasz replikacji programu SQL Server po raz pierwszy, musisz również utworzyć konta i identyfikatory logowania dla agentów replikacji. Aby uzyskać więcej informacji, zobacz sekcje "Konfigurowanie publikacji" i "Konfigurowanie subskrypcji" w tym temacie.
Przed skonfigurowaniem synchronizacji sieci Web zalecamy przeczytanie sekcji "Najlepsze rozwiązania dotyczące zabezpieczeń synchronizacji sieci Web" w tym temacie. Aby uzyskać więcej informacji na temat zabezpieczeń synchronizacji sieci Web, zobacz Security Architecture for Web Synchronization.
Konfigurowanie komputera z uruchomionymi usługami IIS
Synchronizacja sieci Web wymaga zainstalowania i skonfigurowania usług IIS. Przed skonfigurowaniem publikacji do korzystania z synchronizacji sieci Web będziesz potrzebować adresu URL do witryny replikacji.
Synchronizacja sieci Web jest obsługiwana w usługach IIS, począwszy od wersji 5.0. Kreator konfigurowania synchronizacji sieci Web nie jest obsługiwany w usługach IIS w wersji 7.0. Począwszy od programu SQL Server 2012, aby używać składnika synchronizacji internetowej na serwerze usług IIS, zalecamy zainstalowanie programu SQL Server z replikacją. Może to być bezpłatna wersja programu SQL Server Express.
Protokół TLS jest wymagany do synchronizacji sieci Web. Potrzebny będzie certyfikat zabezpieczeń wystawiony przez urząd certyfikacji. Tylko do celów testowych można użyć certyfikatu zabezpieczeń wystawionego samodzielnie.
Aby skonfigurować usługi IIS na potrzeby synchronizacji sieci Web
SQL Server Management Studio: Konfigurowanie usług IIS na potrzeby synchronizacji sieci Web
SQL Server Management Studio: konfigurowanie usług IIS 7 na potrzeby synchronizacji sieci Web
Tworzenie ogrodu internetowego
Odbiornik replikacji programu SQL Server obsługuje dwie współbieżne operacje synchronizacji na wątek. Przekroczenie tego limitu może spowodować, że odbiornik replikacji przestanie odpowiadać. Liczba wątków przydzielonych do replisapi.dll jest określana przez ustawienie maksymalnej liczby procesów roboczych w puli aplikacji. Domyślnie ta właściwość jest ustawiona na 1.
Można obsługiwać większą liczbę współbieżnych operacji synchronizacji na procesor, zwiększając wartość właściwości Maksymalny proces roboczy. Skalowanie w górę przez zwiększenie liczby procesów roboczych na procesor jest nazywane tworzeniem "ogrodu internetowego".
Ogrodnictwa internetowe umożliwią synchronizację więcej niż dwóch subskrybentów w tym samym czasie. Zwiększy również wykorzystanie procesora o replisapi.dll, co może negatywnie wpłynąć na ogólną wydajność serwera. Ważne jest, aby zrównoważyć te zagadnienia podczas wybierania wartości maksymalnej liczby procesów roboczych.
Aby zwiększyć maksymalną liczbę procesów roboczych w usługach IIS 7
W menedżerze Internet Information Services (IIS)rozwiń węzeł serwera lokalnego, a następnie kliknij na węzeł puli aplikacji.
Wybierz pulę aplikacji skojarzoną z witryną synchronizacji sieci Web, a następnie kliknij Ustawienia zaawansowane w okienku Akcje.
W oknie dialogowym Ustawienia zaawansowane w obszarze Model przetwarzania kliknij wiersz oznaczony etykietą Maksymalna liczba procesów roboczych. Zmień wartość właściwości, a następnie kliknij przycisk OK.
Konfiguracja publikacji
Aby użyć synchronizacji sieci Web, utwórz publikację w taki sam sposób, jak w przypadku standardowej topologii scalania. Aby uzyskać więcej informacji, zobacz Publikowanie danych i obiektów bazy danych.
Po utworzeniu publikacji włącz opcję synchronizacji z siecią Web, korzystając z jednej z następujących metod: SQL Server Management Studio, Transact-SQL lub Obiekty zarządzania replikacją (RMO). Aby włączyć synchronizację sieci Web, należy podać adres serwera sieci Web dla połączeń subskrybentów.
Jeśli używasz programu Publisher po raz pierwszy, musisz także skonfigurować dystrybutora i udział migawkowy. Agent scalania dla każdego subskrybenta musi mieć uprawnienia do odczytu w udziale migawek. Aby uzyskać więcej informacji, zobacz Konfiguracja dystrybucji oraz Zabezpiecz folder migawek.
gen jest słowem zarezerwowanym w plikach xml websync. Nie należy próbować publikować tabel zawierających kolumny o nazwie gen.
Konfigurowanie subskrypcji
Po włączeniu publikacji i skonfigurowaniu usług IIS utwórz subskrypcję ściągania i określ, że subskrypcja ściągania powinna być synchronizowana przy użyciu usług IIS. (Synchronizacja sieci Web jest obsługiwana tylko w przypadku subskrypcji pobierania).
Uaktualnianie z wcześniejszej wersji programu SQL Server
Jeśli masz skonfigurowaną topologię synchronizacji sieci Web i uaktualnisz program SQL Server, upewnij się, że najnowsza wersja Replisapi.dll jest kopiowana do katalogu wirtualnego używanego przez synchronizację sieci Web. Domyślnie najnowsza wersja Replisapi.dll znajduje się w katalogu C:\Program Files\Microsoft SQL Server\<nnn>\COM.
Replikowanie dużych ilości danych
Aby uniknąć potencjalnych problemów z pamięcią na komputerach subskrybentów Synchronizacja sieci Web używa domyślnego maksymalnego rozmiaru 100 MB dla pliku XML używanego do transferu zmian. Limit można podnieść, ustawiając następujący klucz rejestru:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\Replication
WebSyncMaxXmlSize DWORD 2000000
Zakres dopuszczalnych wartości dla tego klucza wynosi od 100 MB do 4 GB. Wartość jest określona w kb. Ustawienie tego parametru na wartość wysoką nie gwarantuje, że można zsynchronizować tę ilość danych. Obowiązujący limit jest ograniczony przez ilość ciągłej pamięci jest dostępna na komputerze subskrybenta. Jeśli musisz mieć wartość większą niż 100 MB, zalecamy zwiększanie wartości stopniowo i testowanie zużycia pamięci przy typowym obciążeniu dla Subskrybenta.
Maksymalny rozmiar pliku XML wynosi 4 GB, ale replikacja synchronizuje zmiany z tego pliku w partiach. Maksymalny rozmiar partii danych i metadanych wynosi 25 MB. Należy upewnić się, że dane w każdej partii nie przekraczają około 20 MB, co pozwala na uwzględnienie metadanych i dodatkowych obciążeń. Ten limit ma następujące konsekwencje:
Nie można replikować żadnej kolumny, która powoduje przekroczenie 25 MB danych i metadanych. Może to być problem podczas replikowania wierszy zawierających duże typy danych, takie jak varchar(max).
W przypadku replikowania dużych ilości danych może być konieczne dostosowanie rozmiaru partii agenta scalania.
Wielkość partii dla replikacji scalania jest mierzona w generacjach, które są zbiorami zmian na artykuł. Liczba generacji w partii jest określana przy użyciu parametrów -DownloadGenerationsPerBatch i -UploadGenerationsPerBatch agenta scalania. Aby uzyskać więcej informacji, zobacz Agent scalania replikacji.
W przypadku dużych ilości danych określ niewielką liczbę dla każdego parametru przetwarzania wsadowego. Zalecamy rozpoczęcie od wartości 10, a następnie dostosowanie na podstawie potrzeb i wydajności aplikacji. Zazwyczaj te parametry są określane w profilu agenta. Aby uzyskać więcej informacji na temat profilów, zobacz profile agenta replikacji .
Najlepsze rozwiązania w zakresie zabezpieczeń dotyczące synchronizacji sieci Web
W synchronizacji sieci Web istnieje wiele opcji ustawień związanych z zabezpieczeniami. Zalecamy następujące podejście:
Dystrybutor i wydawca programu SQL Server mogą znajdować się na tym samym komputerze (typowa konfiguracja replikacji scalania). Usługi IIS należy jednak zainstalować na osobnym komputerze.
Użyj protokołu Transport Layer Security (TLS), wcześniej znanego jako Secure Sockets Layer (SSL), aby zaszyfrować połączenie między subskrybentem a komputerem z uruchomionymi usługami IIS. Jest to wymagane w przypadku synchronizacji sieci Web.
Użyj uwierzytelniania podstawowego dla połączeń od subskrybenta do usług IIS. Przy użyciu uwierzytelniania podstawowego, IIS może nawiązywać połączenia z Wydawcą/Dystrybutorem w imieniu Subskrybenta bez konieczności delegowania. Delegowanie jest wymagane, jeśli używasz zintegrowanego uwierzytelniania.
Notatka
Uwierzytelnianie podstawowe to metoda, za pomocą której poświadczenia są przekazywane do serwera IIS. Uwierzytelnianie podstawowe nie uniemożliwia określania kont domeny systemu Windows dla połączeń prowadzonych z usługami IIS.
Określ, że agent migawek powinien działać na koncie domeny systemu Windows i określ, że agent powinien wykonywać połączenia jako to konto. (Jest to konfiguracja domyślna). Określ, że każdy agent scalania powinien działać na koncie domeny użytkownika, który używa komputera subskrybenta, i określ, że agent powinien nawiązać połączenia jako to konto.
Aby uzyskać więcej informacji na temat uprawnień wymaganych przez agentów, zobacz Model zabezpieczeń agenta replikacji.
Określ to samo konto domeny, którego używa agent scalania, wskazując konto i hasło na stronie Informacje o serwerze sieci Web Kreatora nowej subskrypcji lub wskazując wartości dla parametrów
@internet_url
i@internet_login
w sp_addpullsubscription_agent. To konto musi mieć uprawnienia do odczytu dla udziału migawek.Każda publikacja powinna używać oddzielnego katalogu wirtualnego dla usług IIS.
Konto, na którym działa odbiornik replikacji programu SQL Server (Replisapi.dll), jest również kontem, które połączy się z wydawcą i dystrybutorem podczas synchronizacji. To konto musi być mapowane na konto logowania SQL u wydawcy i dystrybutora. Aby uzyskać więcej informacji, zobacz sekcję "Ustawianie uprawnień odbiornika replikacji programu SQL Server" w Konfigurowanie usług IIS na potrzeby synchronizacji sieci Web.
Za pomocą protokołu FTP można dostarczyć migawkę z programu Publisher na komputer z uruchomionymi usługami IIS. Migawka jest zawsze dostarczana z komputera z uruchomionymi usługami IIS do subskrybenta przy użyciu protokołu HTTPS. Aby uzyskać więcej informacji, zobacz Przesyłanie migawków przez FTP.
Jeśli serwery w topologii replikacji znajdują się za zaporą, może być konieczne otwarcie portów w zaporze w celu włączenia synchronizacji sieci Web.
Komputer subskrybenta łączy się z komputerem z uruchomionymi usługami IIS za pośrednictwem protokołu HTTPS przy użyciu protokołu TLS, który jest zwykle skonfigurowany do używania portu 443. Subskrybenci programu SQL Server Compact mogą również łączyć się za pośrednictwem protokołu HTTP, który jest zwykle skonfigurowany do korzystania z portu 80.
Komputer z uruchomionymi usługami IIS zwykle łączy się z wydawcą lub dystrybutorem przy użyciu portu 1433 (wystąpienie domyślne). Gdy wydawca lub dystrybutor jest nazwanym wystąpieniem na serwerze z innym wystąpieniem domyślnym, port 1500 jest zwykle używany do nawiązywania połączenia z nazwanym wystąpieniem.
Jeśli komputer z uruchomionymi usługami IIS jest oddzielony od dystrybutora przez zaporę, a udział FTP jest używany do dostarczania migawek, należy otworzyć porty używane na potrzeby protokołu FTP. Aby uzyskać więcej informacji, zobacz Transfer Snapshots through FTP.
Ważny
Otwieranie portów w zaporze może pozostawić serwer narażony na złośliwe ataki. Przed otwarciem portów upewnij się, że rozumiesz systemy zapór ogniowych. Aby uzyskać więcej informacji, zobacz Zagadnienia dotyczące zabezpieczeń instalacji programu SQL Server.