Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL Managed Instance
Bevor Sie eine Anwendung entwickeln, die Replikationsfunktionen verwendet, folgen Sie diesen allgemeinen Planungsschritten:
Definieren Sie die Replikationstopologie.
Definieren Sie die Anwendungsfunktionen.
Erstellen Sie einen Sicherheitsplan.
Wählen Sie eine Entwicklungsumgebung.
Wählen Sie die geeignete Programmierschnittstelle für die Replikation.
Der Rest dieses Artikels beschreibt diese Schritte ausführlicher. Um den Planungsprozess zu veranschaulichen, ist ein Beispiel beigefügt.
Definition der Replikationstopologie
Der erste Schritt bei der Programmierung der Replikation besteht darin, die Replikationstopologie für die Anwendung zu definieren. Wenn Sie eine Anwendung schreiben, die eine bestehende Replikationstopologie verwendet, zum Beispiel eine Client-Anwendung, die auf Daten eines bestehenden Abonnenten zuruft, gehen Sie zum nächsten Schritt über.
Hinweis
In manchen Fällen ist die Bereitstellung der Replikationstopologie der einzige Zweck der Anwendung.
Die Definition der Replikationstopologie hängt von vielen Faktoren ab. Dazu gehören:
Ob replizierte Daten aktualisiert werden müssen und von wem.
Die Datenverteilungsanforderungen an Konsistenz, Autonomie und Latenzzeit.
Die Replikationsumgebung, einschließlich Geschäftsbenutzer, technischer Infrastruktur, Netzwerk und Sicherheit sowie Dateneigenschaften.
Die Replikationstypen und Replikationsoptionen.
Die Replikationstopologien und ihre Ausrichtung auf die Replikationstypen.
Wenn Sie neu in der Microsoft SQL Server-Replikation sind, siehe Arten der Replikation.
Definition der Anwendungsfunktionalität
Nachdem Sie die Replikationstopologie definiert haben, entscheiden Sie sich für die Funktionalitäten, die Ihre Anwendung bietet. Diese Funktionen können von einem Skript zur Synchronisierung eines Abonnements über eine Anwendung mit einer Benutzerschnittstelle bis hin zur Konfiguration der Replikation reichen. Die Replikation unterstützt die folgenden allgemeinen Programmierungstasks:
Einrichten der Replikation
Synchronisieren von Abonnenten
Warten einer Replikationstopologie
Überwachen einer Replikationstopologie.
Behandlung von Problemen mit der Replikation
Es ist auch üblich, Ihre Anwendung zu erweitern, indem Sie Replikationsfunktionen mit anderen Funktionen von SQL Server kombinieren. In der folgenden Tabelle werden einige erweiterte Funktionen hervorgehoben, die Sie in der Replikationsanwendung bereitstellen können.
| Funktionalität | Beispiel |
|---|---|
| Serververwaltung mit SQL Server Management Objects (SMO) | Eine Anwendung, mit der ein Administrator eine Datenbank anhängen und als Verleger in einer Replikationstopologie konfigurieren kann. |
| Datenzugriff mit ADO.NET | Eine Anwendung, die es Nutzern ermöglicht, programmatisch auf replizierte Verkaufsdaten in einer lokalen Subscriber-Datenbank offline zuzugreifen und diese zu ändern und anschließend das Pull-Abonnement per Knopfdruck zu verbinden und zu synchronisieren. |
Sicherheitsplanung
Sicherheit ist in jeder Anwendung wichtig, und Sie sollten vor dem Schreiben von Code auf Sicherheit einplanen. Die Anwendungssicherheit kann in drei Hauptbestandteile unterteilt werden: Sichern der Datenbank, Sichern der Replikation und Schreiben von sicherem Code.
Die folgenden Artikel bieten Informationen zur Sicherheit:
Anzeigen und Ändern von Replikationssicherheitseinstellungen
Sicherheitscenter für SQL Server-Datenbank-Engine und Azure SQL-Datenbank
Wahl einer Entwicklungsumgebung
Wenn Sie eine Replikationsanwendung entwickeln, betrachten Sie diese drei grundlegenden Entwicklungsumgebungen. Jede Entwicklungsumgebung hat Zugriff auf die gleichen Replikationsfunktionen. Dabei gibt es jedoch einige Ausnahmen. Sie können Replikationsanwendungen in jeder der folgenden Umgebungen entwickeln.
Verwalteter Code
Objektorientierte Entwicklungsumgebung, die die Vorteile des .NET Framework-Programmierungssystems 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 es Ihnen, die Replikationsverwaltung objektorientiert zu programmieren, ohne Transact-SQL kennen zu müssen. Es bietet auch einige Callback-Funktionen beim Ausführen von Replikationsagenten, die nicht von Skripten verfügbar sind. Verwalteter Code ist die beste Umgebung zum Entwickeln von wiederverwendbaren Komponenten und Benutzeroberflächenanwendungen.
Skript
Einfache Anwendungen, die eine Reihe von Befehlen als replikationssystem gespeicherte Prozeduren in Transact-SQL-Skripts oder Befehlen in Batchdateien ausführen. Während man Skripte in einer verwalteten Umgebung über den SQL Server In-Process Managed Provider ausführen kann, erhält man dieselbe Funktionalität durch verwaltete Replikationsschnittstellen, die ebenfalls Callback-Funktionen bieten. Scripting ist die beste Umgebung, um Aufgaben auszuführen, die nur wenige Male ausgeführt werden und in denen keine Callback-Funktionen erforderlich sind, wie zum Beispiel die Installation eines Replikationsservers.
Nativer Code
Objektorientierte Entwicklungsumgebung, die direkten Zugriff auf das System oder COM-Objekte nutzt, sodass der Code nicht vom CLR verwaltet wird. Systemeigene Codereplikationsschnittstellen sind veraltet oder werden nicht mehr unterstützt. Weitere Informationen finden Sie unter Als veraltet markierte Funktionen in SQL Server-Replikation oder Abwärtskompatibilität von Replikationen.
Wählen Sie die passende Replikationsprogrammierschnittstelle.
Der letzte Planungsschritt besteht darin, die geeignete Programmierschnittstelle für die Replikation auszuwählen, die die gewünschten Replikationsfunktionen für die ausgewählte Entwicklungsumgebung implementiert. Die folgende Tabelle zeigt die verfügbaren Replikationsprogrammierschnittstellen.
| Schnittstelle | Environment | Verwendungen |
|---|---|---|
| Konzepte für Replikationsverwaltungsobjekte | Verwalteter Code | Verwaltung, Überwachung und Synchronisierung |
| Microsoft.SqlServer.Replication | Verwalteter Code | Synchronisierungen. |
| Microsoft.SqlServer.Replication.BusinessLogicSupport | Verwalteter Code | Erstellen von Geschäftslogikhandlern, um benutzerdefinierte Logik in den Mergesynchronisierungsvorgang zu integrieren |
| Gespeicherte Replikationsprozeduren (Transact-SQL) | Skripterstellung | Administration und Überwachung. |
| Ausführbare Konzepte für die Programmierung von Replikations-Agent | Skripterstellung | Synchronisierungen. |
Beispiel
Bei Adventure Works müssen Daten für 200 Vertriebsmitarbeiter weltweit veröffentlicht werden. Die Vertriebsmitarbeiter reisen häufig und müssen Laptops oder persönliche digitale Assistenten (PDAs) nutzen, um Kundendaten zu ändern und neue Bestellungen hinzuzufügen. Die Vertriebsmitarbeiter müssen die Änderungen mit dem Publisher synchronisieren, wenn sie den Laptop mit dem Netzwerk verbinden.
Für diese Anwendung könnten die Planungsschritte wie folgt aussehen:
Die Replikationstopologie für diese Anwendung ist bereits vorhanden. Sie müssen jedoch ein neues Pull-Abonnement beim Client erstellen. Verwenden Sie parametrisierte Filter in der Publikation, um für jeden Vertriebsmitarbeiter einen eindeutigen Datensatz zu replizieren.
Zusätzlich zu dem regulären Datenzugriff, der für eine Vertriebsanwendung erforderlich ist, sollte diese Anwendung einen Vertriebsmitarbeiter in die Lage versetzen, das Pullabonnement bei Bedarf per Mausklick zu synchronisieren. Da ein Vertriebsmitarbeiter die Anwendung installiert und betreibt, muss er auch in der Lage sein, ein Abonnement zu konfigurieren und den ersten Snapshot beim Kunden anzuwenden. Optional nutzt die Anwendung die von Windows bereitgestellte Infrastruktur zur Erkennung der drahtlosen Verbindung und synchronisiert das Abonnement automatisch, wenn eine Verbindung erkannt wird.
Befolgen Sie alle Sicherheitsrichtlinien für die Replikation, einschließlich der Verwendung der Windows-Authentifizierung und eines virtuellen privaten Netzwerks (VPN), wenn Sie sich mit dem Publisher verbinden. Wenn Sie Web-Synchronisation implementieren, verwenden Sie eine Transport Layer Security (TLS), früher bekannt als Secure Sockets Layer (SSL), Verbindung. Weitere Informationen finden Sie unter Configure Web Synchronization.
Um die Funktionen des .NET Frameworks zu nutzen, entwickeln Sie die Anwendung mit einer verwalteten Codesprache.
Auf Grundlage dieser Anforderungen kann die verwaltete Schnittstelle für Replikationsverwaltungsobjekte (RMO) alle erforderlichen Replikationsfunktionen für diese Anwendung bereitstellen.
Du kannst die AdventureWorks-Beispielanwendung herunterladen, die dieses Beispielszenario implementiert, aus dem SQL Server.