Freigeben über


Konzepte der Replikationsprogrammierung

Bevor Sie eine Anwendung entwickeln, die Replikationsfunktionen verwendet, sollten Sie die folgenden allgemeinen Planungsschritte ausführen:

  1. Definieren Sie Die Replikationstopologie.

  2. Definieren sie die Anwendungsfunktionalität.

  3. Planen sie die Sicherheit.

  4. Wählen Sie eine Entwicklungsumgebung aus.

  5. Wählen Sie die entsprechende Replikationsprogrammierschnittstelle aus.

Im restlichen Thema werden diese Schritte ausführlicher beschrieben. Zur Veranschaulichung des Planungsprozesses wurde ein Beispiel einbezogen.

Definieren der Replikationstopologie

Der erste Schritt bei der Programmierungsreplikation besteht darin, die Replikationstopologie für Ihre Anwendung zu definieren. Wenn Sie eine Anwendung schreiben, die eine vorhandene Replikationstopologie verwendet, z. B. eine Clientanwendung, die auf Daten bei einem vorhandenen Abonnenten zugreift, sollten Sie mit dem nächsten Schritt fortfahren.

Hinweis

In einigen Fällen ist die Bereitstellung der Replikationstopologie der einzige Zweck der Anwendung.

Die von Ihnen definierte Replikationstopologie hängt von vielen Faktoren ab, einschließlich der folgenden:

  • Gibt an, ob replizierte Daten aktualisiert werden müssen und von wem.

  • Ihre Datenverteilung erfordert Konsistenz, Autonomie und Latenz.

  • Die Replikationsumgebung, einschließlich Geschäftsbenutzer, technische Infrastruktur, Netzwerk und Sicherheit sowie Datenmerkmale.

  • Die Typen von Replikations- und Replikationsoptionen.

  • Die Replikationstopologien und deren Ausrichtung an den Replikationstypen.

Wenn Sie noch nicht mit der Microsoft SQL Server-Replikation sind, lesen Sie die Replikationstypen.

Definieren der Anwendungsfunktionalität

Nachdem die Replikationstopologie definiert wurde, sollten Sie sich für die Funktionen entscheiden, die Ihre Anwendung anbietet. Diese Funktionen können von einem Skript reichen, das ein Abonnement mit einer Anwendung mit einer Benutzeroberfläche synchronisiert, um die Replikation zu konfigurieren. Replikation unterstützt die folgenden allgemeinen Programmieraufgaben:

  • Einrichten der Replikation.

  • Abonnenten werden synchronisiert.

  • Aufrechterhaltung einer Replikationstopologie.

  • Überwachen einer Replikationstopologie.

  • Problembehandlung bei der Replikation.

Es ist auch üblich, Ihre Anwendung zu erweitern, indem Replikationsfunktionen mit anderen Funktionen kombiniert werden, die von SQL Server bereitgestellt werden. In der folgenden Tabelle werden einige erweiterte Funktionen hervorgehoben, die Sie möglicherweise in Ihrer Replikationsanwendung bereitstellen.

Funktionalität Beispiel
Serververwaltung mit SQL Server Management Objects (SMO) Eine Anwendung, die es einem Administrator ermöglicht, eine Datenbank als Publisher in einer Replikationstopologie anzufügen und zu konfigurieren.
Datenzugriff mithilfe von ADO.NET Eine Anwendung, mit der Benutzer programmgesteuert auf replizierte Vertriebsdaten in einer lokalen Abonnentendatenbank zugreifen und diese ändern können, während sie offline sind, und verbinden und synchronisieren Sie das Pullabonnement, indem Sie auf eine Schaltfläche klicken.

Planen der Sicherheit

Sicherheit ist in jeder Anwendung wichtig, und die Planung der Sicherheit sollte vor dem Schreiben von Code abgeschlossen werden. Anwendungssicherheit kann in drei Hauptteile unterteilt werden: Sichern der Datenbank, Sichern der Replikation und Schreiben von sicherem Code.

Die folgenden Themen enthalten Informationen zur Sicherheit:

Auswählen einer Entwicklungsumgebung

Beim Entwickeln einer Replikationsanwendung müssen drei grundlegende Entwicklungsumgebungen berücksichtigt werden. Jede Entwicklungsumgebung hat Zugriff auf dieselben Replikationsfunktionen mit einigen Ausnahmen. Replikationsanwendungen können in jeder der folgenden Umgebungen entwickelt werden.

  • Verwalteter Code

    Objektorientierte Entwicklungsumgebung, die die Vorteile der .NET Framework-Programmierung und der .NET Common Language Runtime (CLR) nutzt. Verwalteter Code ist die empfohlene Programmierumgebung für .NET-Entwicklung und SQL Server-Anwendungen. Verwaltete Replikationsschnittstellen ermöglichen die Programmierung der Replikationsverwaltung auf objektorientierte Weise, ohne Transact-SQL kennen zu müssen, und stellt auch einige Rückruffunktionen bereit, wenn Replikations-Agents ausgeführt werden, die nicht über Skripts verfügbar sind. Verwalteter Code ist die beste Umgebung für die Entwicklung wiederverwendbarer Komponenten und Benutzeroberflächenanwendungen.

  • Skripting

    Einfache Anwendungen, die eine Reihe von Befehlen als replikationssystem gespeicherte Prozeduren in Transact-SQL Skripts oder Befehlen in Batchdateien ausführen. Zwar können Sie Skripts in einer verwalteten Umgebung mit dem sql Server-In-Process Managed Provider ausführen, die gleiche Funktionalität kann jedoch mithilfe von verwalteten Replikationsschnittstellen abgerufen werden, die auch Rückruffunktionen bereitstellen. Skripting ist die beste Umgebung zum Ausführen von Aufgaben, die nur ein paar Mal ausgeführt werden, und wenn Rückruffunktionen nicht erforderlich sind, z. B. das Installieren eines Replikationsservers.

  • Nativer Code

    Objektorientierte Entwicklungsumgebung, die direkten Zugriff auf das System oder COM-Objekte verwendet, sodass Code nicht vom CLR verwaltet wird. Systemeigene Codereplikationsschnittstellen sind veraltet oder nicht mehr vorhanden. Weitere Informationen finden Sie unter veraltete Features in sql Server-Replikation oder Replikation abwärtskompatibilität.

Auswählen der geeigneten Replikationsprogrammierschnittstelle

Der letzte Planungsschritt ist die Auswahl der geeigneten Replikationsprogrammierschnittstelle, die die gewünschte Replikationsfunktionalität für die ausgewählte Entwicklungsumgebung implementiert. Die folgende Tabelle zeigt die verfügbaren Replikationsprogrammierschnittstellen.

Schnittstelle Umwelt Verwendung
Konzepte für Replikationsverwaltungsobjekte Verwalteter Code Verwaltung, Überwachung und Synchronisierung.
Microsoft.SqlServer.Replication Verwalteter Code Synchronisation.
Microsoft.SqlServer.Replication.BusinessLogicSupport Verwalteter Code Erstellen von Geschäftslogikhandlern, um benutzerdefinierte Logik in den Zusammenführungssynchronisierungsprozess zu integrieren.
Gespeicherte Replikationsprozeduren (Transact-SQL) Skripterstellung Verwaltung und Überwachung.
Konzepte ausführbarer Dateien für den Replikations-Agent Skripterstellung Synchronisation.

Beispiel

Bei Adventure Works müssen Daten für 200 Vertriebsmitarbeiter weltweit veröffentlicht werden. Die Vertriebsmitarbeiter reisen häufig und müssen Laptopcomputer oder persönliche digitale Assistenten (PDAs) verwenden, um Kundendaten zu ändern und neue Aufträge hinzuzufügen. Die Änderungen müssen dann mit dem Publisher synchronisiert werden, wenn der Vertriebsmitarbeiter den Laptop mit dem Netzwerk verbindet.

Für diese Anwendung können die Planungsschritte wie folgt aussehen:

  1. Die Replikationstopologie für diese Anwendung ist bereits vorhanden. Ein neues Pullabonnement muss jedoch auf dem Client erstellt werden. Die Publikation sollte parametrisierte Filter verwenden, um einen eindeutigen Satz von Daten für jeden Vertriebsmitarbeiter zu replizieren.

  2. Neben dem typischen Datenzugriff, der für eine Vertriebsanwendung erforderlich ist, sollte diese Anwendung es einem Vertriebsmitarbeiter ermöglichen, das Pullabonnement bei Bedarf zu synchronisieren, indem er auf eine Schaltfläche klickt. Da ein Vertriebsmitarbeiter die Anwendung installiert und ausführt, muss es auch in der Lage sein, ein Abonnement zu konfigurieren und die erste Momentaufnahme auf dem Client anzuwenden. Optional verwendet die Anwendung die von Windows bereitgestellte Infrastruktur zur Erkennung der drahtlosen Konnektivität, um das Abonnement automatisch zu synchronisieren, wenn eine Verbindung erkannt wird.

  3. Befolgen Sie alle Sicherheitsrichtlinien für die Replikation, einschließlich der Verwendung der Windows-Authentifizierung und eines virtuellen privaten Netzwerks (VPN) beim Herstellen einer Verbindung mit dem Herausgeber. Verwenden Sie bei der Implementierung der Websynchronisierung eine SSL-Verbindung (Secure Sockets Layer). Weitere Informationen finden Sie unter Konfigurieren der Websynchronisierung.

  4. Um die Features von .NET Framework nutzen zu können, wird die Anwendung mit einer verwalteten Codesprache entwickelt.

  5. Basierend auf diesen Anforderungen kann die verwaltete Schnittstelle für replikationsverwaltungsobjekte (RMO) alle erforderlichen Replikationsfunktionen für diese Anwendung bereitstellen.

Dieses Beispielszenario wurde in einer Beispielanwendung implementiert, die mit SQL Server ausgeliefert wird.