Announcement

Collapse
No announcement yet.

Datenbank-Kopie

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datenbank-Kopie

    Hi Leute,

    ich brauche euren Rat/Erfahrung. Folgende Situation:

    Ich möchte neben meinem Live-System parallel eine 1:1 identische Datenbank laufen lassen, um zu testen, ob mit der neuen Datenbank alles in Ordnung ist, bevor ich mit meinem Live-System umziehe.

    Nun zum größten Teil habe ich eigentlich keine Probleme die Datenbank 1:1 parallel zu betreiben. Ich importiere einfach die Sachen, die ins Live-System kommen einfach in meine neue Datenbank.

    Bei einer Datenbank habe ich jedoch noch keine Lösung gefunden. Hier werden Daten nicht importiert, sondern direkt von einer Applikation eingegeben.

    Es gibt für mich die Möglichkeit, dass ich meine Applikation modifiziere und anstatt in eine Datenbank zu schreiben, dies in beide zu tun, was ich für Schwachsinn halte. Oder ich kopiere einfach die Datenbank jeden Tag ins neue System.

    Anfangs habe ich mir gedacht, dass eigentlich kein Problem sei, da ich lediglich ein Backup Restore machen müsste. Nun habe ich aber festgestellt, dass die neue Datenbank in einer anderen Domäne also auch auf einem anderen Server liegt.

    Natürlich kann ich über den MS SQL Server Management Studio den Wizzard verwenden, aber das jeden Tag? und bei zich Datenbanken mit zich Tabellen? Da würde ich ja den ganzen Tag dafür verbrauchen.

    Linked Server kann ich komischerweise auch nicht backupen.

    Nun bin ich hier im Forum und weiß nicht wirklich weiter. Hat einer evtl irgendwelche Tipps und Tricks oder Erfahrungen, die er mit mir teilen möchte?

    Ich wäre sehr dankbar dafür.

    Beste Grüße
    Daman

  • #2
    hallo,
    sql examiner und data examiner können das machen was du brauchst. erstes gleicht das schema an, zweites die Daten. Kann man auch skripten und per geplanten Task ausführen. Beides zusammen kostet ca. 350 Euro. Wir nutzen das um Live und Testsystem abzugleichen. Ist halt bei dir eher die Frage ob sich das für diesen vermutlich einmaligen Zweck bezahlt macht. Läuft meines Wissens auch in der Demo 30 Tage.

    Wenn du bissi Zeit hast kannst du auch versuchen selbst zu skripten. Wenn du keine "unhandlichen" Datentypen wie Text, Binärdaten hast, geht evtl. auch in Transaktionen die Zieltabelle leeren und per Identidy Insert und dynamisch zusammengebautem Insert für jede Tabelle die Daten zu schreiben.

    So etwa:
    - Cursor auf alle vorhandenen Tabellen Stichwort systables
    - im cursor öffne transaktion
    - DELETE FROM tabellenname
    - set identidy insert tabellenname on
    - insert into tabellenname (alle felder) SELECT alle Felder FROM Quelltabelle
    - set identidy insert tabellenname off
    - commit
    - nächste tabelle

    wenn du foreign keys hast musst du vorher am besten alle deaktivieren, nach der aktion wieder alle anschalten

    im cursor könntest du auch das schema vergleichen mittels hm glaub syscolumns. beiden tabellen gegeneinander laufen lassen, also inner join heißt feld ist in beiden tabellen vorhanden und felder die in tabelle a sind aber nicht in tabelle b über ein left join

    Comment


    • #3
      vielen dank für den tipp. werde ich beherzigen

      Comment


      • #4
        Hi Daman!

        Hast du dir schonmal überlegt eine SQL-Server Replikation einzurichten? Im Management Studio unter Replikation zu finden ... Die Einrichtung ist eigentlich keine Hexerei! Ich halte so einige Tabellen in einer anderen Datenbank aktuell welche aber nur in einer DB angepasst werden.

        Dies funktioniert aber auch über die ganze Datenbank. Musst dich informieren, einmal einrichten und funktioniert nachher immer ;-)

        Gruss, rewisch

        Comment


        • #5
          danke, werde mich da mal reinlesen

          Comment

          Working...
          X