Jump to content

Fehlerhafte Replikation ersetzen?


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo Kollegen,

ich habe da eine nicht alltägliche Frage.

Hintergrund:

In meiner Firma werden seit über 10 Jahren Daten auf verschiedene Server(Satelliten) repliziert. Das geht auch ganz gut. Aber es werden auch Daten von den Satelliten wieder zurück repliziert in eine Datenbak und verschieden Tabellen. Das ist der böse Punkt.

Bei der Datenbankstruktur sind nach heutigen Erkenntnissen markante Fehler gemacht worden. Tabellen haben keine eindeutige Indexspalte. Dies gilt auch für die Zieltabellen für die Replikation zurück.

 

Ausserdem wurde es versäumt Nummernkreise für die einzelnen Satelliten für diese Zieltabellen anzulegen. Ich weiß nicht wie das mal funktioniert hat, aber jetzt geht es nicht mehr. Und wir bekommen es auch nicht ans Laufen.

"Dopplete ID ...."

 

Ein reparieren der Fehler ist nicht so einfach, da die Datenbank ca 250 GB groß ist und ca 25 Applikationen darauf zugreifen. Die Replikation umfasst 6 Satelliten.

 

Meine Idee wäre es einen Service zu erstellen, der nach Speicherung der Daten in der Datenbank auf den Satelliten angetriggert wird und die Daten an die Zieldatenbank überträgt und vorher die ID's usw. anpasst

Ich kenne das von den FireBird Datenbanken, Da gibt es ein Eventalerter, der Anwendungen ansteuern (benachrichtigen) kann. 

Aber gibt es so etwas auch für den SQL Server?? Oder habe ich dafür andere Möglichkeiten??

 

Werkzeug: SQL Server 2012 und Visual Studio 2022. SQL Server wird demnächst migriert auf den aktuellen.

 

Für Vorschläge wäre ich dankbar.

 

Gruß Torsten

Link zu diesem Kommentar

Moin,

 

nun ... denkbar ist vieles. Aber in solchen Situationen weise ich Kunden meistens darauf hin, dass solche Replikationskonstrukte eigentlich eine Idee aus den Neunzigern sind, als man noch lange nicht von Breitbandverbindungen zwischen Standorten sprach. Heute würde man normalerweise gar nicht mehr so kompliziert denken, sondern die Daten zentral halten, weil es einfach keine guten Gründe mehr gibt, Daten geografisch zu verteilen. Damit braucht man auch diese ganzen anfälligen Konstrukte nicht mehr.

 

Wenn euer Aufbau noch funktionieren würde, wäre das vielleicht eine andere Sache, aber offenbar müsst ihr da sowieso mit Aufwand ran. Und dann würde ich prüfen, ob der Aufwand denn an einer sinnvollen Stelle ansetzt.

 

Gruß, Nils

 

Link zu diesem Kommentar

Hallo NilsK,

ich bin da ganz bei dir, aber wie du sicherlich gelesen hast, ist die Replikation schon etwas älter. Ich glaube 2012 war der Begin und der ehem. Kollege wusste auch nicht so recht mit Datenbanken und Struktur bescheid. Vielleicht auch aus der Historie heraus. Zusätzlich sind nicht alle globale Verbindungen so gut, das man eine Datenbank lokal verwenden kann, wenn es auf Taktzeiten ankommt. Auch heute stören uns noch Latenzen zu den einzelnen Standorten. Da macht eine Replikation die Sache schon entspannter. Wenn richtig konzipiert.

Hier werden von den Satelliten die Daten in die jeweiligen Tabellen auf dem Zielserver geschrieben.  D. h. 6 Satelliten Tabelle A auf Zielserver in eine Tabelle A. Und kein eindeutiger Inde nur einen zusammengesetzten aus einer Nummer und einer TestSystemID. Die Nummer läuft von 0 bin nnnnnn und die TestSystemID  von 1 bis 6. Beides sind eigenständige Spalten.

Ich habe gelernt das die Spalte eindeutig sein muss und nicht ein Index. Aber ?????

 

Deshalb mein Vorschlag auf das oben genannte Vorgehen. Das würde uns die Sache vereinfachen.

 

Gruß

Torsten

 

 

Link zu diesem Kommentar

Hi,

 

vor 10 Minuten schrieb Tossi65:

Zusätzlich sind nicht alle globale Verbindungen so gut, das man eine Datenbank lokal verwenden kann, wenn es auf Taktzeiten ankommt. Auch heute stören uns noch Latenzen zu den einzelnen Standorten.

 

man kann ja ebenfalls die User/Clients per VDI / RDSH zu den Daten und der Applikation holen. Dann ist beides im gleichen Rechenzentrum.

 

Gruß

Jan

Link zu diesem Kommentar

Moin,

 

ich habe dir geantwortet, weil ich deinen Beitrag gelesen habe.

 

Wenn es bei euch Gründe für eine Replikation gibt - gut, dann ist das so. Dann kommt jetzt meine zweite Empfehlung, auch wenn ich so ein Gefühl habe, dass die dir vielleicht auch nicht so gefällt: Sprich das in Ruhe mit einem Dienstleister durch, der sich damit auskennt und euch da architektonisch beraten kann. Wie gesagt, vorstellbar ist vieles, und das hat sich dein Kollege vor über zehn Jahren sicher auch gedacht. Jetzt stehst du aber vor dem Problem, dass die Dinge "nicht so einfach" sind, und durch viel Erfahrung mit Infrastrukturen, Datenbanken und Applikationen ist mein Vorschlag an dieser Stelle, die Lösung nicht über Foren-Tipps zu suchen. Replikation ist nun mal leider schnell sehr komplex, und da ist ein Forum dann kein guter Ort mehr.

 

Für den Entwurf eines Service wären wir hier ohnehin nicht das richtige Board.

 

Gruß, Nils

 

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...