Replikation läuft nur (noch!) in eine Richtung

  • Moin Zusammen,


    ich habe hier mal was Interessantes für diejenigen die sich gern mit (Replikations-) Logik beschäftigen. Bin mir nebenbei auch nicht ganz sicher ob das ein Admin- oder Entwicklungsthema ist.
    (Notfalls bitte verschieben)


    Umfeld:


    - 3 Server von 3 untersch. Organisationen
    - 1 zu replizierende Datenbank
    - Die Dokumente in der Datenbank sind mit Leser- und Autorenfeldern versehen, aber alle Server können sie lesen.


    Problem (Symptome):


    1. Dokumente werden nur noch in eine Richtung repliziert
    2. Dokumente werden nach der Erstellung nicht mehr korrekt abgeglichen (Änderungen werden nicht korrekt übernommen)


    Erläuterung:


    vorweg: Ich habe die Administration und Pflege dieser Anwendung von einem Kollegen übernommen der inzwischen das Unternehmen leider verlassen hat und die Dokumentation ist an einigen Stellen etwas lückenhaft.


    Grobes Replikationsschema sollte sein das alle 3 Server (A,B und C) über den gleichen Datenbestand verfügen (logisch! ;)


    Neue Dokumente werden auf Server A erstellt und nach Replikation auf Server C bearbeitet. Änderungen sollen wieder zurück repliziert werden. Server B dient lediglich als Verbindungsserver.


    Wie unter Problem 1 erwähnt werden Dokumente nur noch von A nach C durchgegeben Änderungen und Child-Dokumente werden nicht mehr übertragen (ging ursprünglich). Problem 2 lässt mir das ganze etwas mysteriös vorkommen, da nach der Erstellung des Dokuments und anschließender Replikation Änderungen nicht mehr nach Server C übertragen werden obwohl diese in A korrket vorgenommen und gespeichert werden.


    Mein Verdacht:
    In der Replik auf Server C ist eine Replikationsformel hinterlegt die wie folgt lautet:


    SQL
    SELECT 
    (Type="Person":"Database")|((Type="Group")&(@IsUnavailable(GroupType)|(GroupType="0":"1")))


    Wenn ich diese herausnehme führt das zum Verschwinden sämtlicher Dokumte in der Replik und anhaltenden Moment der völligen Panik beim Admin ;)


    Ist ein wenig doof sich so mit Halbwissen über die Konfiguration einem solchen Problem zu stellen. Geht mir leider aber genau so. Ich wäre deswegen für jede Hilfe echt dankbar!


    Irgendwelche Ideen?


    Vielen Dank in jedem Fall!


    KSchiffmann

  • Also da ist die Liste etwas länger. Aber die üblichen Dinge eben:


    - Blanko replik mit neuem Design
    - Verbindungsdokumente überprüfen
    - ACL Prüfung
    - Mehrfaches löschen des Replizierprotokolles
    - etc...

  • Meinst du "bei einer Datenbank" oder "bei einer Replik"?


    Grundsätzlich geht es um eine Datenbank in der ein kleiner Workflow abgebildet ist, aber freilich hliegt auf jedem Server eine Replik.

  • hmm so wie ich es geschrieben habe.
    wird ja nicht die einzigste datenbank sein, die auf dem server rumliegt?


    geht doch nur darum, ob es an der datenbank liegt oder generell die replizierung nen schlag hat.


    gruß
    alex

  • Ok, wollte das nur nochmal sicherstellen das wir uns über das selbe unterhalten.


    Es geht ausschließlich um die eine Datenbank da andere Datenbanken nicht unter den Servern repliziert werden. Es geht nur um diese eine Anwendung.


    Ich kann also nicht klar nachvollziehen ob es die ganze Replikation ist oder die Datenkbank.



    Hier noch ein anderer Gedanke:


    Gegenzertifzierung
    Die Server sind alle von unterschiedlichen Certifiern und stehen an unterschiedlichen Standorten. Die Directories haben jeweils nur Gegenzertifikate von den Servern mit denen sie direkt replizieren. Das heißt A hat eins von B und umgekehrt etc. Aber A besitzt z.B. kein Gegenzertifikat für den Server C. Kann das aus irgendeinem Grund zu Problemen führen?


    Gruß und besten Dank
    KSchiffmann

  • hi,


    erstell doch mal eine test datenbank und danach eine replik auf dem jeweiligen server und schau was passiert.


    Alternativ, was sagen eigentlich die Logdateien?
    gruß
    alex

  • also an den Gegenzertifikaten kann es nicht liegen, da ja die Dokumente von Server A über Server B nach C kommen. Somit scheint ja der Zugriff zumindestens da zu sein.


    Ich würde folgendes tun:
    Datensicherung der DB
    Repliken auf Server B und C löschen
    Bereinung der DB auf Server A (Löschen aller Replikationsformeln)
    Neu anlegen der Replik auf B und dann auf C


    Ich danke, dass die Replikationsformeln das Problem sind, wenn Du die ACL schon gecheckt hast.


    Ansonsten stosse die REplikation von C nach B und nach A mal manuell an und schau was das Log sagt. Ggf. dreh das Log Level für die Replikation höher.

  • Erstmal Danke Muerte.


    Das ist wenigstens mal ein Ansatz ;)


    Hast du unter Umständen eine wenig Plan von den Replikationsformeln? (Siehe 1ster Post)


    Sprich:
    - Was sollte die Formel die hinterlegt ist bewirken?
    - Warum werden sämtliche Dokumente aus der Replik gelöscht wenn ich die Replikationsformel herausnehme? <-- Wäre schon ziemlich wichtig das vorher zu wissen ^^


    Danke im Voraus und freundliche Grüße aus Hannover!

  • Na wenn du nur die Formel rausnimmst ohne die Einschränkung auf die Formel zu deaktivieren trifft natürlich kein Dokument mehr zu.


    Und was die Formel genau bewirkt kannst du ja einfach selbst testen: Bau dir eine Ansicht und füg die Formel als Auswahl dort ein, dann siehst du was noch angezeigt und damit auch repliziert wird.