Replikation zu Azure SQL-Datenbank
Gilt für: Azure SQL-Datenbank
Sie können Azure SQL-Datenbank als Pushabonnenten in einer unidirektionalen Transaktionsreplikationstopologie oder Momentaufnahme-Replikationstopologie von SQL Server und Azure SQL Managed Instance konfigurieren.
Hinweis
In diesem Artikel wird die Verwendung der Transaktionsreplikation in Azure SQL-Datenbank beschrieben. Sie steht nicht im Zusammenhang mit der aktiven Georeplikation, einer Azure SQL-Datenbank-Funktion, mit der Sie umfassende lesbare Replikate einzelner Datenbanken erstellen können.
Unterstützte Konfigurationen
- Azure SQL-Datenbank kann nur Pushabonnent eines SQL Server-Verlegers oder -Verteilers sein.
- Die SQL Server-Instanz, die als Verleger und/oder Verteiler fungiert, kann eine lokal ausgeführte SQL Server-Instanz, eine Instanz von Azure SQL Managed Instance oder eine auf einem virtuellen Azure-Computer in der Cloud ausgeführte SQL Server-Instanz sein.
- Die Verteilungsdatenbank und die Replikations-Agents können sich nicht in einer Datenbank in Azure SQL-Datenbank befinden.
- Momentaufnahmereplikation und unidirektionale Transaktionsreplikation werden unterstützt. Nicht unterstützt werden Peer-zu-Peer-Transaktions- und Mergereplikationen.
Versionen
Für eine erfolgreiche Replikation in eine Datenbank in Azure SQL-Datenbank müssen die SQL Server-Verleger und -Verteiler (mindestens) eine der folgenden Versionen verwenden:
Das Veröffentlichen in einer Azure SQL-Datenbank von einer SQL Server-Datenbank wird durch die folgenden Versionen von SQL Server unterstützt:
- SQL Server 2016 und höher
- SQL Server 2014 RTM CU10 (12.0.4427.24) oder SP1 CU3 (12.0.2556.4)
- SQL Server 2012 SP2 CU8 (11.0.5634.1) oder SP3 (11.0.6020.0)
Hinweis
Der Versuch, Replikationen mit einer nicht unterstützten Version zu konfigurieren, kann zu dem Fehler mit der Nummer MSSQL_REPL20084 (Der Prozess konnte keine Verbindung mit dem Abonnenten herstellen.) oder MSSQL_REPL40532 (Der von der Anmeldung angeforderte Server <Name> kann nicht geöffnet werden. Die Anmeldung ist fehlgeschlagen.)
Um alle Features von Azure SQL-Datenbank verwenden zu können, müssen Sie die neuesten Versionen von SQL Server Management Studio (SSMS) und SQL Server Data Tools (SSDT) verwenden.
Replikationstypen
Es gibt verschiedene Replikationstypen:
Replikation | Azure SQL-Datenbank | Verwaltete Azure SQL-Instanz |
---|---|---|
Transaktionsreplikation | Ja (nur als Abonnent) | Ja |
Momentaufnahme | Ja (nur als Abonnent) | Ja |
Mergereplikation | Nein | Nein |
Peer-to-Peer | Nein | Nein |
Bidirektional | Nein | Ja |
Aktualisierbare Abonnements | Nein | Nein |
Bemerkungen
- In Azure SQL-Datenbank werden nur Pushabonnements unterstützt.
- Replikationen können mithilfe von SQL Server Management Studio oder durch Ausführen von Transact-SQL-Anweisungen im Verleger konfiguriert werden. Replikation können nicht mit dem Azure-Portal konfiguriert werden.
- Bei Replikationen kann eine Verbindung mit Azure SQL-Datenbank nur über SQL Server-Authentifizierungsanmeldungen hergestellt werden.
- Replizierte Tabellen müssen einen Primärschlüssel aufweisen.
- Sie benötigen ein Azure-Abonnement.
- Der Azure SQL-Datenbank-Abonnent kann sich in einer beliebigen Region befinden.
- Eine einzelne Veröffentlichung in SQL Server kann Azure SQL-Datenbank- und SQL Server-Abonnenten (lokal und SQL Server auf einem virtuellen Azure-Computer) unterstützen.
- Die Verwaltung, Überwachung und Problembehandlung bei Replikationen müssen über SQL Server und nicht über Azure SQL-Datenbank ausgeführt werden.
- Nur
@subscriber_type = 0
wird in sp_addsubscription für SQL-Datenbank unterstützt. - Azure SQL-Datenbank unterstützt keine bidirektionalen, sofortigen, aktualisierbaren oder Peer-zu-Peer-Replikationen.
Architektur der Replikation
Szenarien
Typisches Replikationsszenario
- Erstellen Sie eine Transaktionsreplikationsveröffentlichung in einer SQL Server-Datenbank.
- Erstellen Sie im SQL Server mithilfe des Assistenten für neue Abonnements oder mithilfe von Transact-SQL-Anweisungen ein Pushabonnement in Azure SQL-Datenbank.
- Bei Verwendung von Einzel- und Pooldatenbanken in Azure SQL-Datenbank handelt es sich beim ersten Dataset um eine Momentaufnahme, die vom Momentaufnahmen-Agent erstellt und vom Verteilungs-Agent verteilt und angewendet wird. Bei Verwendung der verwalteten SQL-Instanz als Verleger können Sie auch eine Datenbanksicherung als Seed für den Azure SQL-Datenbank-Abonnenten verwenden.
Datenmigrationsszenario
- Replizieren Sie Daten über Transaktionsreplikationen von einer SQL Server-Datenbank-Instanz zu Azure SQL-Datenbank.
- Leiten Sie die Client- oder Middle-Tier-Anwendung um, um die Datenbankkopie zu aktualisieren.
- Beenden Sie die Aktualisierung der SQL Server-Version der Tabelle, und entfernen Sie die Veröffentlichung.
Begrenzungen
Die Replikation mit den folgenden Optionen wird von Azure SQL Database nicht unterstützt:
- Kopieren einer Dateigruppenzuordnung
- Kopieren von Tabellenpartitionierungsschemas
- Kopieren von Indexpartitionierungsschemas
- Kopieren von benutzerdefinierten Statistiken
- Kopieren von Standardbindungen
- Kopieren von Regelbindungen
- Kopieren von Volltextindizes
- Kopieren einer XML-XSD
- Kopieren von XML-Indizes
- Kopieren von Berechtigungen
- Kopieren von räumlichen Indizes
- Kopieren von gefilterten Indizes
- Kopieren von Datenkomprimierungsattributen
- Kopieren von Sparsespaltenattributen
- Konvertieren von filestream in MAX-Datentypen
- Konvertieren von hierarchyid in MAX-Datentypen
- Konvertieren von spatial in MAX-Datentypen
- Kopieren von erweiterten Eigenschaften
Zu bestimmende Einschränkungen
- Kopieren einer Sortierung
- Ausführung in einer serialisierten Transaktion der gespeicherten Prozedur
Beispiele
Erstellen Sie eine Veröffentlichung und ein Pushabonnement. Weitere Informationen finden Sie unter
- Erstellen einer Veröffentlichung
- Erstellen eines Pushabonnements mit dem Namen des Servers als Abonnent (z. B. N'azuresqldbdns.database.windows.net' ) und dem Namen von Azure SQL-Datenbank als Zieldatenbank (z. B. AdventureWorks).