Mario: MS SQL Datenbank synchronisation - N Help

Sehr geehrte Mit-Programmierer!

Problemstellung:

Ich habe 2 Datenbanken von 2 Firmen. Beide haben die selbe Artikel datenbank (MS SQL 2000).

Sprich:

Firma A - DB_Arikel_A
Firma B - DB_Artikel_B
---
DB_Artikel_A = DB_Artikel_B

Nun möchte ich ohne großen Schnick Schnack die Datenbanken synchronisieren.

Könnte mir einer weiterhelfen biddö?
Lösungswege wären supi, bin net so ganz fit in ms sql =(

Danke im Vorraus
mfg Mario

PS: Datenbanken sind zurzet IDENTISCH & Replikationsfähig(schlüssel)

  1. Hallo Mario,

    daraus ergeben sich erst mal diese Gegenfragen:
    1. wie sind die Datenbanken miteinander verbunden?
    2. mit welchem Frontend wird auf den Datenbanken gearbeitet?
    3. welche Programmiersprache wird zur Zeit verwendet?

    Gruss Norbert

    1. Hallo Mario,

      daraus ergeben sich erst mal diese Gegenfragen:

      1. wie sind die Datenbanken miteinander verbunden?

      Die Datenbanken sind zurzeit nicht verbunden - Es sind zwei eigenständige Datenbanken die es zu synchroniesieren gilt.

      1. mit welchem Frontend wird auf den Datenbanken gearbeitet?

      Visual Basic - vb.net

      1. welche Programmiersprache wird zur Zeit verwendet?

      vb.net

      Gruss Norbert

      mfg Mario =)

      1. Hallo Mario,

        daraus ergeben sich erst mal diese Gegenfragen:

        1. wie sind die Datenbanken miteinander verbunden?
          Die Datenbanken sind zurzeit nicht verbunden

        ah-ja,
        dann helfen nur zwei Tipsen mit Telefon ... ;-)

        Nee, mal im Ernst:
        Es gibt z.B. eine Firma die arbeitet schon seit Jahrzenten mit dezentralen Datenbanken in Tokio, Ohio(?) und Karlsruhe. Natuerlich sind die miteinander verbunden, und die Kunden (hauptsaechlich Forscher) merken von der verteilten Datenhaltung natuerlich nichts. Damit will ich sagen "ohne Verbindung" ist der Thread hier zu Ende.

        1. welche Programmiersprache wird zur Zeit verwendet?
          vb.net

        okay, das empfinde ich als suboptimal, aber das ist reine Geschmacksache.

        Moeglichkeiten:
        1. man legt die Datenbanken zusammen und jede Firma arbeitet mit ihrem Frontend auf der gemeinsamen Datenbank.
        2. man schreibt ein Zusatztool, welches jeden Insert auf beiden DB's vornimmt.

        Aber dafuer braucht es halt immer eine Verbindung ...

        Nun muss entschieden und ein Budget beschafft werden.
        Und dann kann man auswaehlen, wer das Budget ueberziehen darf ... ;-)

        Da es sich um Firmen handelt, ist eine Amateurloesung weniger sinnvoll.
        Chefs wollen jemanden an die Wand nageln und Schadenersatz fordern, falls was nicht klappt.

        Gruss Norbert

        1. Nein du verstehst mich falsch x)

          also ... Firma A und Firma B sind zwei eigenständige Firmen, die NICHT die gleiche Datenbank haben, ABER den gleichen Artikelstamm benutzen ... auf 2 getrennten Tabellen, und die will ich synchronisieren ....

          jetzt bin ich selbst verwirrt *ahhh*

          1. Nein du verstehst mich falsch x)

            klar,
            sowas trainiere ich doch tagtaeglich ... ;)

            also ... Firma A und Firma B sind zwei eigenständige Firmen,
            die NICHT die gleiche Datenbank haben, ABER den gleichen Artikelstamm benutzen ...
            auf 2 getrennten Tabellen, und die will ich synchronisieren ....

            Da stellt sich die Frage, woher beziehen die Firmen ihren Artikelstamm?
            Es reicht IMHO aus, wenn man die Quelle zusammenlegt und Aenderungen unterbindet.
            So koennte man z.B. die Tabelle regelmaessig auf CD ausliefern.
            Das klappt auch ohne Tippse und ohne Netzwerk.

            Gruss Norbert

          2. Hi,

            du möchtest, dass beiderseitig, also in Firma A und in Firma B unabhängig von einander Änderungen gemacht werden können und jeweils die andere Seite diese Änderung auch mitbekommt? Also bi-direktional Master-zu-Master.

            Das ganze soll über die Internetleitung passieren? Da sind dann mal mindestens folgende Dinge zu beachten:

            • die Firewalls der Firmen müssen offene eingehende Ports haben
            • die Verbindung via Internet sollte verschlüsselt erfolgen, zb. via VPN Tunneling mit Verschlüsselung
            • die Server müssen sich gegenseitig mit ihrem WINS/NetBIOS Name kennen

            Dann wäre eine reine MS SQL Server-zu-Server Replikation möglich. Allerdings bringt der Einsatz dieser auch einigen Aufwand sowohl bei der Einrichtung als auch bei der späteren Wartung. Die Einrichtung ändert u.U. die Tableschemata

            PS: Datenbanken sind ... Replikationsfähig(schlüssel)

            Sicher? Was macht deiner Meinung nach die Replikationsfähigkeit aus? Dass Primärschlüssel vergeben sind auf den Tabellen? Was machst du, wenn Firma A ein Produkt XYZ mit Schlüssel/Id=233 hat und Firma B ein Produk KEF mit Schlüssel/Id=233? Nur mal so an den Haaren herbeigezogen.

            Wie realtime-nahe soll denn die Synchronisierung ablaufen?
            Wer darf Daten ändern?
            Wie willst du Konflikte bei der Datenänderung lösen?

            Obige Fragen vielleicht einfach mal untechnisch betrachten und beantworten?

            Ciao, Frank

            1. Hi Hi!

              Habe das Problem gestern noch gelöst und funktioniert einwandfrei!
              (Meinen Vorstellungen)

              thx4help

              mfg Mario

              1. Hallo,

                es wäre sicherlich der "Allgemein"bildung und dem Forumsniveau zuträglich, wenn du deine Lösung mal kurz vorstellen könntest. Soviel Zeit könntest du dir durchaus nehmen, du hast ja schliesslich auch von den Forumlern erwartet, dass sie sich mit deinem Problem beschäftigen.

                Danke,
                Frank

  2. Hello,

    hab's selbst, nicht zuletzt dank mangelnder Rechte, noch nicht aufgesetzt, aber vielleicht hilft dir einfache Replication:
    Replication in MS-SQL 2000
    SQL Server Replication FAQ
    SQL Server-Replikation (MSDN)

    MfG
    Rouven

    --
    -------------------
    Buy when there's blood running in the street and sell when everyone is pounding at your door, clawing to own your equities  --  Wisdom on Wallstreet