Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - Datenbankadministration » Replikation » Daten mit Replication Server replizieren » LTM verwenden

 

Tabellen für die Replikation konfigurieren

Sie können die Systemprozedur sp_setreplicate bzw. sp_setrepproc oder die ALTER TABLE-Anweisung verwenden, um Tabellen für die Replikation zu konfigurieren. Eine Tabelle wird als Primärdatenquelle gekennzeichnet, wobei Sie die Anweisung ALTER TABLE mit einer einzigen Klausel verwenden:

ALTER TABLE Tabellenname
SET REPLICATE ON;
Auswirkung der Einstellung REPLICATE ON in einer Tabelle

Wenn Sie REPLICATE ON setzen, werden zusätzliche Angaben in das Transaktionslog geschrieben, sobald ein UPDATE-, INSERT- oder DELETE-Vorgang in der Tabelle erfolgt. Diese Zusatzangabe wird vom SQL Anywhere Replication Agent verwendet, um Replication Server ggf. ein vollständiges Pre-Image der Zeile zu übermitteln.

Auch wenn nur einige Daten in der Tabelle repliziert werden müssen, übermittelt der Prozess alle Änderungen in der Tabelle an Replication Server. Es obliegt Replication Server, die Daten, die repliziert werden, von denen zu unterscheiden, für die das nicht gilt.

Wenn eine Zeile aktualisiert, eingefügt oder gelöscht wird, besteht das Pre-Image der Zeile aus dem Inhalt der Zeile vor der Aktion, und das Post-Image aus dem Inhalt der Zeile nach der Aktion. Bei Einfügungen wird nur das Post-Image übermittelt (das Pre-Image ist leer). Bei Löschungen ist das Post-Image leer, nur das Pre-Image wird übermittelt. Bei Aktualisierungen werden das Pre-Image und die aktualisierten Werte übermittelt.

Folgende Datentypen werden bei der Replikation unterstützt:

Datentyp Beschreibung (Open Client/Open Server-Typ)
Exakte Ganzzahl-Datentypen int, smallint, tinyint
Exakte Dezimal-Datentypen decimal, numeric
Angenäherte nummerische Datentypen float (8-Byte), real
Währungsdatentypen money, smallmoney
Zeichendatentypen char(n), varchar(n), text
Datentypen für Datum und Uhrzeit datetime, smalldatetime
Binärdatentypen binary(n), varbinary(n), image
Bit-Datentypen bit
Hinweise

SQL Anywhere unterstützt Daten mit Null-Länge, die nicht NULL sind. Allerdings werden lange Nicht-Nulldaten mit dem Datentyp "varchar" und "binary" und mit der Länge 0 an die Replikatdatenbank als NULL repliziert.

Wenn eine Primärtabelle Spalten mit nicht-unterstützten Datentypen aufweist, können Sie die Daten replizieren, wenn Sie eine Replikationsdefinition erstellen, wobei Sie einen kompatiblen unterstützten Datentyp verwenden. Um zum Beispiel eine DOUBLE-Spalte zu replizieren, könnten Sie die Spalte in der Replikationsdefinition als FLOAT festlegen.

Nebenwirkungen von REPLICATE ON auf eine Tabelle

Bei häufig aktualisierten Tabellen kann es bei der Replikation zu Performance-Einbußen kommen. Es kann sinnvoll sein, replizierte Prozeduren zu verwenden, wenn Sie Performanceprobleme haben, die möglicherweise mit dem Aufkommen von Replikationsdaten zusammenhängen, da replizierte Prozeduren nur den Aufruf an die Prozedur senden, und nicht die einzelne Aktion.

Da die Einstellung REPLICATE ON bewirkt, dass zusätzliche Informationen in das Transaktionslog geschrieben werden, kann dieses Log schneller als bei einer nicht-replizierenden Datenbank wachsen.

Minimale Spalten-Replikationsdefinitionen

Der SQL Anywhere-LTM unterstützt die Replication Server-Funktion, die minimale Spalten repliziert. Diese Funktion ist auf Replication Server aktiviert.

Weitere Hinweise zum Replizieren von minimalen Spalten finden Sie in Ihrer Dokumentation zu Replication Server.