Hallo Herr Schweickert,
Der Abgleich (Syncronsiation) von Daten (Tabellen) unterschiedlicher Datenquellen/Datenbanken ist durchaus möglich. Je nachdem wie Sie das durchführen möchten ist das einfach bis sehr komplex.
Hier mal ein paar Vorschläge
- Sie erstellen eine Defintionen die auf der WRITE Seite alle Daten vor dem Import in der Tabelle löscht. Der Aschließende Import legt dann alle Daten der READ Seite auf der WRITE Seite an.
Vorteil: Sehr einfach
Nachteil: Die Daten müssen vorher in der Zieltabelle gelöscht werden. Es werden immer alle Datensätze verarbeitet.
- Sie erstellen eine Definition die neue Daten anfügt und evtl. vorhandene Datensätze aktuallisiert.
Vorteil: auch noch sehr einfach
Nachteil: Evtl. gelöschte Datensätze bleiben in der Zieldatenbank weiterhin vorhanden. Es werden immer alle Datensätze verarbeitet.
- Über ein zusätzliches Feld in der READ Tabelle, das über Datenbanktrigger aktuallisiert wird. Über dieses Feld können Sie dann steuern ob der Datensatz neu ist, aktuallisert oder gelöscht wurde. Der eigentliche Import muss dann nur noch einen kleinen Teil der Daten verarbeiten.
Vorteil: Auch für sehr große Datenmengen geeignet.
Nachteil: Sehr Komplex, das Löschen muss über eine Separate Definition erledigt werden
Hinweis: Pro Tabelle die Sie Syncronisieren möchten benötigen Sie eine separate FlowHeater Definition. Wenn auch Werte von AutoIncrement Felder Syncronisiert werden sollen ist ein wenig mehrarbeit notwendig. Mehr dazu können Sie hier nachlesen:
set identity_insert on
Das ganze kann über das Batch Modul und einem Windows Task automatosoiert ausgeführt werden. Ein Beispiel dazu finden Sie hier:
Mehrere SQL Server Instanzen auf einem Server/Rechner) Wenn der "SQL Server Browser" Dienst auf Ihrem Server läuft genügt es wenn Sie im SQLServer Adapter unter „Server bzw. IP“ den Servernamen inkl. Instanznamen angeben.
z.B. SQLServer-Name\Instanz-Name
Läuft der "SQL Server Browser" Dienst nicht auf Ihrem Server müssen Sie zusätzlich dazu den Port angeben unter dem die Instanz installiert wurde.
z.B SQLServer-Name\Instanz-Name,1433