Nicht-SQL Server-Abonnenten
Gilt für: SQL Server
Die folgenden Nicht-SQL Server-Abonnenten können Momentaufnahme- und Transaktionsveröffentlichungen mithilfe von Pushabonnements abonnieren. Abonnements werden für die beiden neuesten Versionen jeder aufgeführten Datenbank mithilfe der neuesten Version des aufgeführten OLE DB-Anbieters unterstützt.
Die heterogene Replikation an Nicht-SQL Server-Abonnenten ist veraltet. Das Veröffentlichen mit Oracle ist veraltet. Um Daten zu verschieben, erstellen Sie Lösungen mit Change Data Capture und SSIS.
Achtung
Diese Funktion wird in einer zukünftigen Version von SQL Serverentfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden.
Datenbank | Betriebssystem | Anbieter |
---|---|---|
Oracle | Alle von Oracle unterstützten Plattformen | Oracle OLE DB-Anbieter (von Oracle bereitgestellt) |
IBM Db2 | MVS, AS400, Unix, Linux, Windows ausgenommen Version 9.x | Microsoft Host Integration Server (HIS) OLE DB-Anbieter |
Oracle-Versionsinformationen:
SQL Server unterstützt die folgenden heterogenen Szenarien für die Transaktions- und Momentaufnahmereplikation:
Veröffentlichen von SQL Server-Daten für Nicht-SQL Server-Abonnenten.
Beim Veröffentlichen von Daten an und von Oracle bestehen folgende Einschränkungen:
Replikation | 2016 oder früher | 2017 oder höher |
---|---|---|
Replikation von Oracle | Wird nur für Oracle 10g oder früher unterstützt | Wird nur für Oracle 10g oder früher unterstützt |
Replikation zu Oracle | Bis Oracle 12c | Nicht unterstützt |
Die heterogene Replikation an Nicht-SQL Server-Abonnenten ist veraltet. Das Veröffentlichen mit Oracle ist veraltet. Um Daten zu verschieben, erstellen Sie Lösungen mit Change Data Capture und SSIS.
Weitere Informationen zum Erstellen von Abonnements für Oracle und IBM Db2, finden Sie unter Oracle-Abonnenten und IBM Db2-Abonnenten.
Überlegungen zu Nicht-SQL Server-Abonnenten
Beachten Sie beim Replizieren auf Nicht-SQL Server-Abonnenten Folgendes:
Allgemeine Überlegungen
Die Replikation unterstützt Veröffentlichungstabellen und indizierte Sichten als Tabellen für Nicht-SQL Server-Abonnenten (indizierte Sichten können nicht als indizierte Sichten repliziert werden).
Wenn Sie eine neue Veröffentlichung im Assistenten für neue Veröffentlichungen erstellen und diese über das Dialogfeld „Veröffentlichungseigenschaften“ für Benutzer ohne SQL Server-Abonnement freigeben, wird der Besitzer aller Objekte in der Abonnementdatenbank für Nicht-SQL Server-Abonnenten nicht angegeben. Für Microsoft SQL Server-Abonnenten wird der Besitzer des entsprechenden Objekts in der Veröffentlichungsdatenbank festgelegt.
Wenn eine Veröffentlichung SQL Server-Abonnenten und Nicht-SQL Server-Abonnenten hat, muss sie für Nicht-SQL Server-Abonnenten aktiviert werden, bevor Abonnements für SQL Server-Abonnenten erstellt werden.
Die vom Momentaufnahme-Agent für Nicht-SQL Server-Abonnenten generierten Skripts verwenden standardmäßig Bezeichner ohne Anführungszeichen in der
CREATE TABLE
-Syntax. Deshalb wird eine veröffentlichte Tabelle mit dem Namen 'test' als 'TEST' repliziert. Wenn die Groß- und Kleinschreibung der Schreibweise in der Veröffentlichungsdatenbank entsprechen soll, verwenden Sie den -QuotedIdentifier -Parameter für den Verteilungs-Agent. Der Parameter -QuotedIdentifier muss auch verwendet werden, wenn veröffentlichte Objektnamen (wie Tabellen, Spalten und Einschränkungen) Leerzeichen und Wörter enthalten, bei denen es sich in der Version der Datenbank beim Nicht-SQL Server-Abonnenten um reservierte Wörter handelt. Weitere Informationen zu diesem Parameter finden Sie unter Replikationsverteilungs-Agent.Das Konto, unter dem der Verteilungs-Agent ausgeführt wird, muss über Lesezugriff für das Installationsverzeichnis des OLE DB-Anbieters verfügen.
Der Verteilungs-Agent verwendet bei Nicht-SQL Server-Abonnenten standardmäßig einen Wert [(default destination)] für die Abonnementdatenbank (den Parameter -SubscriberDB für den Verteilungs-Agent):
Bei Oracle weist ein Server höchstens eine Datenbank auf, deshalb ist die Angabe der Datenbank nicht erforderlich.
Bei IBM Db2 wird die Datenbank in der DM2-Verbindungszeichenfolge angegeben. Weitere Informationen finden Sie unter Erstellen eines Abonnements für einen Nicht-SQL Server-Abonnenten.
Wenn der SQL Server-Verteiler auf einer 64-Bit-Plattform ausgeführt wird, müssen Sie die 64-Bit-Version des entsprechenden OLE DB-Anbieters verwenden.
Die Replikation verschiebt Daten im Unicode-Format, unabhängig von der auf dem Verleger und dem Abonnenten verwendeten Sortierung (bzw. den verwendeten Codeseiten). Es wird empfohlen, für die Replikation zwischen Verlegern und Abonnenten eine kompatible Sortierung/Codeseite auszuwählen.
Wenn ein Artikel einer Veröffentlichung hinzugefügt oder aus einer Veröffentlichung gelöscht wird, müssen Abonnements für Nicht-SQL Server-Abonnenten erneut initialisiert werden.
Bei allen Nicht-SQL Server-Abonnenten werden nur zwei Einschränkungen unterstützt: NULL und NOT NULL. PRIMARY KEY-Einschränkungen werden als eindeutige Indizes repliziert.
Der Wert NULL wird von den verschiedenen Datenbanken unterschiedlich behandelt. Das wirkt sich darauf aus, wie ein leerer Wert, eine leere Zeichenfolge oder NULL dargestellt werden. Dies wiederum wirkt sich auf das Verhalten von Werten aus, die in Spalten mit definierten UNIQUE-Einschränkungen eingefügt werden. Oracle lässt z. B. mehrere NULL-Werte in einer eindeutigen Spalte zu, während SQL Server nur einen einzigen NULL-Wert in einer eindeutigen Spalte zulässt.
Ein weiterer Faktor ist, wie NULL-Werte, leere Zeichenfolgen und leere Werte behandelt werden, wenn eine Spalte als NOT NULL definiert ist. Informationen zum Umgang mit Oracle-Abonnenten finden Sie unter Oracle-Abonnenten.
Replikationsbezogene Metadaten (Transaktionssequenztabelle) werden bei Nicht-SQL Server-Abonnenten nicht gelöscht, wenn das Abonnement entfernt wird.
Erfüllen der Anforderungen der Abonnentendatenbank
Veröffentlichte Schemas und Daten müssen den Anforderungen der Datenbank auf dem Abonnenten entsprechen. Wenn beispielsweise die maximale Zeilengröße einer Nicht-SQL Server-Datenbank geringer ist als die von SQL Server, müssen Sie sicherstellen, dass das veröffentlichte Schema und die Daten diese Größe nicht überschreiten.
Auf Nicht-SQL Server-Abonnenten replizierte Tabellen übernehmen die Benennungskonventionen für Tabellen, die für die Datenbank auf dem Abonnenten gelten.
Die Datendefinitionssprache (DDL) wird für Nicht-SQL Server-Abonnenten nicht unterstützt. Weitere Informationen zu Schemaänderungen finden Sie unter Vornehmen von Schemaänderungen in Veröffentlichungsdatenbanken.
Unterstützte Funktionen der Replikation
SQL Server stellt zwei Arten von Abonnements bereit: Push und Pull. Nicht-SQL Server-Abonnenten müssen Pushabonnements verwenden, wobei der Verteilungs-Agent auf dem SQL Server-Verteiler ausgeführt wird.
SQL Server stellt zwei Momentaufnahmeformate bereit: systemeigener BCP-Modus und Zeichenmodus. Nicht-SQL Server-Abonnenten erfordern Momentaufnahmen im Zeichenmodus.
Nicht-SQL Server-Abonnenten können keine Abonnements mit sofortigem Update oder mit verzögertem Update über eine Warteschlange verwenden und keine Knoten in einer Peer-zu-Peer-Topologie sein.
Nicht-SQL Server-Abonnenten können nicht automatisch von einer Sicherung initialisiert werden.