Konfigurieren der Websynchronisierung
Die Websynchronisierungsoption für die SQL Server-Mergereplikation ermöglicht die Datenreplikation mithilfe des HTTPS-Protokolls über das Internet. Um die Websynchronisierung zu verwenden, müssen Sie zuerst die folgenden Konfigurationsaktionen ausführen:
Erstellen Sie neue Domänenkonten und ordnen Sie SQL Server-Anmeldungen zu.
Konfigurieren Sie den Computer, auf dem Microsoft Internetinformationsdienste (Internet Information Services, IIS) ausgeführt wird, für die Synchronisierung von Abonnements.
Konfigurieren Sie eine Mergeveröffentlichung für die Websynchronisierung.
Konfigurieren Sie eines oder mehrere Abonnements zur Verwendung der Websynchronisierung.
![]() |
---|
Wenn Sie große Datenmengen replizieren oder umfangreiche Datentypen wie varchar(max) verwenden möchten, lesen Sie den Abschnitt "Replizieren großer Datenmengen" in diesem Thema. |
Um die Websynchronisierung erfolgreich einzurichten, müssen Sie entscheiden, wie die Sicherheit gemäß bestimmter Anforderungen und Richtlinien konfiguriert werden soll. Es wird empfohlen, diese Entscheidungen zu treffen und die notwendigen Konten zu erstellen, bevor Sie IIS, die Veröffentlichung und die Abonnements konfigurieren.
In den folgenden Schritten wird aus Platzgründen eine vereinfachte Sicherheitskonfiguration mit lokalen Konten beschrieben. Diese vereinfachte Konfiguration ist für Installationen geeignet, bei denen IIS und der SQL Server-Verleger und -Verteiler auf demselben Computer ausgeführt werden, obwohl die Verwendung einer Multiservertopologie für eine Produktionsinstallation viel wahrscheinlicher ist (und empfohlen wird). Sie können in diesen Schritten die lokalen Konten durch Domänenkonten ersetzen.
Erstellen von neuen Konten und Zuordnen von SQL Server-Anmeldungen
Die SQL Server-Replikationsüberwachung (replisapi.dll) stellt eine Verbindung mit dem Verleger durch Identitätswechsel des für den Anwendungspool angegebenen Kontos her, der der Replikationswebsite zugeordnet ist.
Das für die SQL Server-Replikationsüberwachung verwendete Konto muss über die unter Sicherheit für den Merge-Agent im Abschnitt "Herstellen einer Verbindung mit dem Verleger oder dem Verteiler" beschriebenen Berechtigungen verfügen. Zusammengefasst muss das Konto folgende Bedingungen erfüllen:
Es muss Mitglied der Veröffentlichungszugriffsliste (PAL) sein.
Es muss einer mit einem Benutzer in der Veröffentlichungsdatenbank verknüpften Anmeldung zugeordnet sein.
Es muss einer mit einem Benutzer in der Verteilungsdatenbank verknüpften Anmeldung zugeordnet sein.
Es muss über Leseberechtigungen für die Snapshotfreigabe verfügen.
Wenn Sie die SQL Server-Replikation das erste Mal verwenden, müssen Sie auch Konten und Anmeldungen für die Replikations-Agents erstellen. Weitere Informationen finden Sie in diesem Thema in den Abschnitten "Konfigurieren der Veröffentlichung" und "Konfigurieren des Abonnements".
Bevor Sie die Websynchronisierung konfigurieren, sollten Sie den Abschnitt "Bewährte Methoden bezüglich der Sicherheit bei der Websynchronisierung" in diesem Thema lesen. Weitere Informationen zur Sicherheit bei der Websynchronisierung finden Sie unter Sicherheitsarchitektur für die Websynchronisierung.
Konfigurieren des Computers, auf dem IIS ausgeführt wird
Für die Websynchronisierung ist es erforderlich, IIS zu installieren und zu konfigurieren. Sie benötigen die URL der Replikationswebsite, bevor Sie eine Veröffentlichung zur Verwendung der Websynchronisierung konfigurieren können.
Die Websynchronisierung wird von IIS Version 5.0, IIS Version 6.0 und IIS Version 7 unterstützt. Der Assistent zum Konfigurieren der Websynchronisierung wird von IIS Version 7.0 nicht unterstützt.
SSL ist für die Websynchronisierung erforderlich. Sie benötigen ein von einer Zertifizierungsstelle ausgestelltes Sicherheitszertifikat. Die Verwendung eines selbst ausgestellten Sicherheitszertifikats ist ausschließlich zu Testzwecken möglich.
Um die Websynchronisierung mit IIS 7 zu verwenden, müssen Sie die Replikationskomponente (replisapi.dll) manuell installieren und konfigurieren und anschließend eine Website für die Replikation erstellen und konfigurieren.
So konfigurieren Sie IIS für die Websynchronisierung
SQL Server Management Studio: Vorgehensweise: Konfigurieren von IIS für die Websynchronisierung
SQL Server Management StudioVorgehensweise: Konfigurieren von IIS 7 für die Websynchronisierung
Erstellen eines Webgartens
Die SQL Server-Replikationsüberwachung unterstützt zwei gleichzeitige Synchronisierungsvorgänge pro Thread. Das Überschreiten dieser Grenze kann dazu führen, dass die Replikationsüberwachung nicht mehr antwortet. Die Anzahl der replisapi.dll zugeordneten Threads wird von der Eigenschaft Maximale Anzahl von Arbeitsprozessen des Anwendungspools bestimmt. Standardmäßig ist diese Eigenschaft auf 1 festgelegt.
Erhöhen Sie den Wert der Eigenschaft Maximale Anzahl von Arbeitsprozessen, um eine größere Anzahl gleichzeitiger Synchronisierungsvorgänge pro CPU zu unterstützen. Das horizontale Skalieren durch Erhöhen der Anzahl von Arbeitsprozessen pro CPU wird als Erstellen eines Webgartens bezeichnet.
Ein Webgarten ermöglicht die gleichzeitige Synchronisierung von mehr als zwei Abonnenten. Er erhöht außerdem die CPU-Auslastung durch replisapi.dll, was sich negativ auf die Gesamtleistung des Servers auswirken kann. Diese Überlegungen müssen bei der Auswahl eines Werts für die Eigenschaft Maximale Anzahl von Arbeitsprozessen beachtet werden.
So erhöhen Sie die maximale Anzahl von Arbeitsprozessen in IIS 7
Erweitern Sie im Internetinformationsdienste-Manager den Knoten für den lokalen Server, und klicken Sie dann auf den Knoten Anwendungspool.
Wählen Sie den der Websynchronisierungswebsite zugeordneten Anwendungspool aus, und klicken Sie dann im Bereich Aktionen auf Erweiterte Einstellungen.
Klicken Sie im Dialogfeld Erweiterte Einstellungen unter der Überschrift Prozessmodell auf die Zeile mit der Bezeichnung Maximale Anzahl von Arbeitsprozessen. Ändern Sie den Eigenschaftswert, und klicken Sie dann auf OK.
Konfigurieren der Veröffentlichung
Erstellen Sie eine Veröffentlichung auf dieselbe Weise wie für eine standardmäßige Mergetopologie, um die Websynchronisierung zu verwenden. Weitere Informationen finden Sie unter Veröffentlichen von Daten und Datenbankobjekten.
Nachdem die Veröffentlichung erstellt wurde, aktivieren Sie die Option zur Verwendung der Websynchronisierung mithilfe der Methoden SQL Server Management Studio, Transact-SQL oder Replikationsverwaltungsobjekte (RMO, Replication Management Objects). Um die Websynchronisierung zu aktivieren, müssen Sie die Webserveradresse für Abonnentenverbindungen angeben.
Wenn Sie einen Verleger zum ersten Mal verwenden, müssen Sie auch einen Verteiler und eine Snapshotfreigabe konfigurieren. Der Merge-Agent bei jedem Abonnenten muss über Leseberechtigungen für die Snapshotfreigabe verfügen. Weitere Informationen finden Sie unter Konfigurieren der Verteilung und Sichern des Snapshotordners.
So konfigurieren Sie eine Veröffentlichung für die Websynchronisierung
SQL Server Management Studio: Vorgehensweise: Konfigurieren einer Veröffentlichung für die Websynchronisierung (SQL Server Management Studio)
Replikationsprogrammierung mit Transact-SQL:Vorgehensweise: Konfigurieren einer Veröffentlichung für die Websynchronisierung (Replikationsprogrammierung mit Transact-SQL)
Konfigurieren des Abonnements
Nachdem Sie eine Veröffentlichung aktiviert und IIS konfiguriert haben, erstellen Sie ein Pullabonnement und geben an, dass es mithilfe von IIS synchronisiert werden soll. (Die Websynchronisierung wird nur für Pullabonnements unterstützt.)
So konfigurieren Sie ein Abonnement für die Verwendung der Websynchronisierung
SQL Server Management Studio: Vorgehensweise: Konfigurieren eines Abonnements für die Websynchronisierung (SQL Server Management Studio)
Replikationsprogrammierung mit Transact-SQL:Vorgehensweise: Konfigurieren eines Abonnements zur Verwendung der Websynchronisierung (Replikationsprogrammierung mit Transact-SQL)
RMO: Vorgehensweise: Konfigurieren eines Abonnements für die Websynchronisierung (RMO-Programmierung)
Aktualisieren von einer Früheren Version von SQL Server
Wenn eine vorhandene Websynchronisierungstopologie konfiguriert wurde und Sie SQL Server aktualisieren, müssen Sie sicherstellen, dass die neueste Version von Replisapi.dll in das von der Websynchronisierung verwendete virtuelle Verzeichnis kopiert wird. Standardmäßig befindet sich die aktuelle Version von Replisapi.dll unter C:\Programme\Microsoft SQL Server\<nnn>\COM.
Replizieren großer Datenmengen
Um Speicherprobleme auf Abonnentencomputern zu vermeiden, verwendet die Websynchronisierung eine maximale Standardgröße von 100 MB für die XML-Datei zur Übertragung von Änderungen. Diese Begrenzung kann in folgendem Registrierungsschlüssel erhöht werden:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\Replication
WebSyncMaxXmlSize DWORD 2000000
Der Bereich akzeptabler Werte für diesen Schlüssel ist 100 MB bis 4 GB. Der Wert wird in KB angegeben. Das Setzen diese Parameters auf einen hohen Wert bietet keine Garantie, dass Sie diese Datenmenge synchronisieren können. Die effektive Grenze ist davon abhängig, wie viel zusammenhängender Arbeitsspeicher auf dem Abonnentencomputer verfügbar ist. Falls Sie mehr als 100 MB benötigen, sollten Sie den Wert schrittweise erhöhen und den Speicherbedarf bei einer typischen Arbeitsauslastung auf dem Abonnentencoputer testen.
Die maximale Größe der XML-Datei beträgt 4 GB, jedoch werden die Änderungen in dieser Datei bei der Replikation batchweise synchronisiert. Die maximale Batchgröße für Daten und Metadaten beträgt 25 MB. Achten Sie daher darauf, dass die Daten in jedem Batch höchstens 20 MB umfassen, damit ausreichend Platz für Metadaten und andere Komponenten vorhanden ist. Diese Begrenzung bringt die folgenden Auswirkungen mit sich:
Es können keine Spalten repliziert werden, die bewirken, dass Daten und Metadaten 25 MB. überschreiten. Dies stellt möglicherweise ein Problem dar, wenn Sie Zeilen mit umfangreichen Datentypen wie varchar(max) replizieren.
Wenn Sie große Datenmengen replizieren, müssen Sie ggf. die Batchgröße des Merge-Agents anpassen.
Die Batchgröße für die Mergereplikation wird in Generierungen gemessen, bei denen es sich um Auflistungen von Änderungen pro Artikel handelt. Die Anzahl von Generierungen in einem Batch wird mithilfe der Parameter –DownloadGenerationsPerBatch und –UploadGenerationsPerBatch des Merge-Agents angegeben. Weitere Informationen finden Sie unter Replikationsmerge-Agent.
Geben Sie für große Datenmengen eine kleine Zahl für die einzelnen Batch-Parameter an. Es wird empfohlen, mit dem Wert 10 zu beginnen und dann je nach Anwendungsanforderungen und -leistung diesen Wert zu optimieren. Normalerweise werden diese Parameter in einem Agentprofil angegeben. Weitere Informationen zu Profilen finden Sie unter Replikations-Agent-Profile.
Bewährte Methoden bezüglich der Sicherheit bei der Websynchronisierung
Für die sicherheitsbezogenen Einstellungen bei der Websynchronisierung stehen verschiedene Optionen zur Verfügung. Der folgende Ansatz ist empfehlenswert:
Der SQL Server-Verteiler und -Verleger können sich auf demselben Computer befinden (eine typische Konfiguration für die Mergereplikation). IIS sollte jedoch auf einem separaten Computer installiert werden.
Verwenden Sie SSL (Secure Sockets Layer), um die Verbindung zwischen dem Abonnenten und dem Computer mit IIS zu verschlüsseln. Dies ist für die Websynchronisierung erforderlich.
Verwenden Sie die Standardauthentifizierung für Verbindungen zwischen dem Abonnenten und IIS. Mithilfe der Standardauthentifizierung kann IIS Verbindungen zum Verleger/Verteiler im Namen des Abonnenten herstellen, ohne dass eine Delegierung erforderlich ist. Die Delegierung ist erforderlich, wenn Sie die integrierte Authentifizierung verwenden.
Hinweis
Die Standardauthentifizierung ist die Methode, mit der Anmeldeinformationen an IIS weitergegeben werden. Die Standardauthentifizierung verhindert nicht die Angabe von Windows-Domänenkonten für zu IIS hergestellte Verbindungen.
Geben Sie an, dass der Snapshot-Agent unter einem Windows-Domänenkonto ausgeführt werden soll und dass der Agent als dieses Konto Verbindungen herstellen soll. (Dies ist die Standardkonfiguration.) Geben Sie an, dass jeder Merge-Agent unter dem Domänenkonto des Benutzers ausgeführt werden soll, der den Abonnentencomputer verwendet. Geben Sie zudem an, dass der Agent Verbindungen als dieses Konto herstellen soll.
Weitere Informationen zu den erforderlichen Berechtigungen für die Agents finden Sie unter Sicherheitsmodell des Replikations-Agents.
Geben Sie das Domänenkonto an, das auch vom Merge-Agent verwendet wird, wenn Sie auf der Seite Webserverinformationen des Assistenten für neue Abonnements ein Konto und ein Kennwort oder wenn Sie Werte für die Parameter @internet_url und @internet_login von sp_addpullsubscription_agent angeben. Dieses Konto muss über Leseberechtigungen für die Snapshotfreigabe verfügen.
Jede Veröffentlichung sollte ein separates virtuelles Verzeichnis für IIS verwenden.
Das Konto, unter dem die SQL Server-Replikationsüberwachung (Replisapi.dll) ausgeführt wird, ist auch das Konto, das während der Synchronisierung eine Verbindung mit dem Verleger und dem Verteiler herstellt. Dieses Konto muss einem SQL-Anmeldekonto auf dem Verleger und dem Verteiler zugeordnet werden. Weitere Informationen finden Sie im Abschnitt "Festlegen von Berechtigungen für die SQL Server-Replikationsüberwachung" unter Vorgehensweise: Konfigurieren von IIS für die Websynchronisierung.
Sie können FTP verwenden, um den Snapshot vom Verleger an den Computer mit IIS zu übermitteln. Der Snapshot wird von dem Computer mit IIS immer mithilfe von HTTPS an den Abonnenten übermittelt. Weitere Informationen finden Sie unter Übertragen von Snapshots über FTP.
Wenn sich Server in der Replikationstopologie hinter einer Firewall befinden, müssen Sie möglicherweise Ports in der Firewall öffnen, um die Websynchronisierung zu aktivieren.
Der Abonnentencomputer stellt die Verbindung mit dem Computer, auf dem IIS ausgeführt wird, über HTTPS mithilfe von SSL her, das normalerweise für die Verwendung von Port 443 konfiguriert ist. SQL Server Compact 3.5 SP1-Abonnenten können die Verbindung auch über HTTP herstellen, das normalerweise für die Verwendung von Port 80 konfiguriert ist.
Der Computer, auf dem IIS ausgeführt wird, stellt die Verbindung mit dem Verleger oder Verteiler in der Regel über Port 1433 (Standardinstanz) her. Wenn der Verleger oder der Verteiler eine benannte Instanz auf einem Server mit einer anderen Standardinstanz ist, wird die Verbindung mit der benannten Instanz normalerweise über Port 1500 hergestellt.
Wenn der Computer, auf dem ISS ausgeführt wird, vom Verteiler durch eine Firewall getrennt ist und für die Snapshotübermittlung eine FTP-Freigabe verwendet wird, müssen die für FTP verwendeten Ports geöffnet sein. Weitere Informationen finden Sie unter Übertragen von Snapshots über FTP.
![]() |
---|
Das Öffnen von Ports in der Firewall kann dazu führen, dass der Server böswilligen Angriffen ausgesetzt ist. Daher sollten Sie Ports grundsätzlich nur dann öffnen, wenn Sie sicher sind, dass Sie das Konzept von Firewallsystemen verstanden haben. Weitere Informationen finden Sie unter Sicherheitsüberlegungen für eine SQL Server-Installation. |
Siehe auch
Aufgaben
Konzepte
Änderungsverlauf
Aktualisierter Inhalt |
---|
IIS, Version 7.0 wurde der Liste der unterstützten IIS-Versionen hinzugefügt. Die Reihenfolge der Schritte wurde so geändert, dass das Konfigurieren der Veröffentlichung nun nach dem Konfigurieren von IIS erfolgt. Ein Abschnitt zum Erstellen von neuen Konten und Zuordnen von Anmeldungen wurde hinzugefügt. |