Nicht-SQL Server-Abonnenten
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.
Vorsicht |
---|
Diese Funktion wird in zukünftigen Versionen von Microsoft SQL Server nicht mehr bereitgestellt. Verwenden Sie diese Funktion beim Entwickeln neuer Anwendungen nicht, und planen Sie das Ändern von Anwendungen, in denen es zurzeit verwendet wird. |
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 |
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öffentlichende Tabellen und indizierte Sichten als Tabellen für Nicht-SQL Server-Abonnenten (indizierte Sichten können nicht als indizierte Sichten repliziert werden).
Wenn Sie eine Veröffentlichung im Assistenten für neue Veröffentlichung erstellen und dann im Dialogfeld Veröffentlichungseigenschaften für Nicht-SQL Server-Abonnenten aktivieren, wird bei Nicht-SQL Server-Abonnenten für keines der Objekte in der Abonnementdatenbank der Besitzer angegeben. Bei Microsoft SQL Server-Abonnenten hingegen wird der Besitzer des entsprechenden Objekts in der Veröffentlichungsdatenbank festgelegt.
Weist eine Veröffentlichung SQL Server-Abonnenten und Nicht-SQL Server-Abonnenten auf, muss sie für Nicht-SQL Server-Abonnenten aktiviert werden, damit Abonnements für SQL Server-Abonnenten erstellt werden können.
Standardmäßig verwenden vom Momentaufnahme-Agent für Nicht-SQL Server-Abonnenten generierte Skripts 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 -QuotedIdentifier-Parameter 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 auf dem 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 (der -SubscriberDB-Parameter 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.