none
SQL Server 2008 - Replikation RRS feed

  • Frage

  • Hallo!

    Wie ich der Produktbeschreibung des SQL Servers entnehmen kann, beherrschen verschiedene Edition die Funktion der "Replikation". Leider habe ich bis jetzt noch nicht herausgefunden ob diese jedoch das kann, was ich brauche:

    Ich möchte folgendes in einem Rechenzentrum betreiben:

    2 Datenbank Server - davor 2 Application Server

    Die Datenbank Server sollen untereinander eine Datenbank spiegeln, so dass bei einem Ausfall einer der Server der andere alle Aufgaben übernehmen kann. Beide Application Server sollen auf ihren jeweiligen Datenbank Server zugreifen können, im Falle eines Ausfalls soll der Zugriff auch auf den verbleibenden Datenbankserver möglich sein. Der Zugriff auf die Application Server erfolgt über einen Loadbalancer.

    Kann ich dieses mit Hilfe des SQL Server 2008 abbilden?

    Vielen Dank im Vorraus!

    Donnerstag, 24. Februar 2011 08:53

Antworten

  • Hallo Jörg,
    wenn beide Anwendungen auf die selbe DB schreiben sollen, dann würde ich beide Web-Server auf die gleiche DB-Instanz konfigurieren und beide im Failover-Fall schwenken lassen. Eine Replikation mit entsprechender Konfliktbehandlung wird wahrscheinlich mehr Ressourcen kosten, als zwei separate Server bringen.

    Ich kenne so etwas nur aus dem Oracle-Umfeld, wo ein RAC mit mehreren Knoten konfiguriert und zugreifbar ist. Je nach Auslastung ist dann der Interconnect der Engpass.
    Schau Dir mal das Whitepaper an, da steht einiges zu HA drin.

    Was ist das (Haupt-)Ziel? HA oder Performance? Wenn Dein Ziel höhere Performance ist, dann spendiere den Büchsen entsprechend RAM.

    Womit wir endlich bei der Frage der Grössenordnung wären. Wieviel GB und Transaktionen /sec sollen denn abgefackelt werden?

    Einen schönen Tag noch,
    Christoph


    Microsoft SQL Server MVP
    http://www.insidesql.org/blogs/cmu

    Freitag, 25. Februar 2011 10:56
    Beantworter

Alle Antworten

  • Hallo!
    Ich empfehle Dir mal folgende Artikel zum Thema Spiegelung:
    http://technet.microsoft.com/de-de/library/ms189852.aspx
    Übersicht über die Datenbankspiegelung
    http://technet.microsoft.com/de-de/library/ms191309.aspx
    Datenbankspiegelung und Failover-Clusterunterstützung

    Weiterhin habe ich hier den Hinweis auf ein Whitepaper zu HA und DR Szenarien hinterlegt:
    http://www.insidesql.org/blogs/cmu/sql_server/proven-sql-server-architectures-for-high-availability-and-disaster-recovery

    Ich würde es aus Gründen der Einfachheit mit Mirroring machen! Replikation impliziert meiner Meinung nach unter Umständen auch Änderungen an der Datenbank, die ich z. B. bei Fremdprodukten aus Gründen der Gewährleistung nicht zulassen kann.

    Falls Du den Spiegelserver wirklich nur als Spiegelserver verwendest und keine Lastverteilung auf Seiten der Datenbank benötigst, solltest Du dort auch ohne Lizenz für den SQL Server arbeiten können. Eine Windows-Lizenz ist aber auf jeden Fall notwendig.

    Einen schönen Tag noch,
    Christoph


    Microsoft SQL Server MVP
    http://www.insidesql.org/blogs/cmu

    Freitag, 25. Februar 2011 09:16
    Beantworter
  • Hallo!

    Danke für die Antwort!

    Ich denke, dass eine Spiegelung in meinem Fall nicht das richtige ist, da auf die Datenbanken auch Schreiboperationen durchgeführt werden die jeweils in beiden vorgenommen werden müssen. Ich habe ein PDF erstellt, in dem der einfache Aufbau skizziert ist, wie wir uns bzw. unser Auftraggeber sich das vorstellt:

    Aufbau

    Das Loadbalancing soll schon vor dem Zugriff auf die beiden Webserver erfolgen. Die beiden Webserver haben jeweils ihren eigenen Datenbankserver, sollen jedoch aber bei Bedarf (Ausfall eines Datenbankservers) auf den verbleibenden Datenbankserver zugreifen können. Die Datenbanken der beiden Datenbankserver müssen zu jedem Zeitpunkt identisch sein, d.h. wenn Daten auf Datenbankserver1 geschrieben werden müssen diese auch auf Datenbankserver2 geschrieben werden und umgekehrt.

    Ist sowas denn technisch möglich/sinnvoll? Natürlich bin ich für Vorschläge zur Verbesserung dankbar!

    Gruß
    Jörg

    Freitag, 25. Februar 2011 09:58
  • Hallo Jörg,
    wenn beide Anwendungen auf die selbe DB schreiben sollen, dann würde ich beide Web-Server auf die gleiche DB-Instanz konfigurieren und beide im Failover-Fall schwenken lassen. Eine Replikation mit entsprechender Konfliktbehandlung wird wahrscheinlich mehr Ressourcen kosten, als zwei separate Server bringen.

    Ich kenne so etwas nur aus dem Oracle-Umfeld, wo ein RAC mit mehreren Knoten konfiguriert und zugreifbar ist. Je nach Auslastung ist dann der Interconnect der Engpass.
    Schau Dir mal das Whitepaper an, da steht einiges zu HA drin.

    Was ist das (Haupt-)Ziel? HA oder Performance? Wenn Dein Ziel höhere Performance ist, dann spendiere den Büchsen entsprechend RAM.

    Womit wir endlich bei der Frage der Grössenordnung wären. Wieviel GB und Transaktionen /sec sollen denn abgefackelt werden?

    Einen schönen Tag noch,
    Christoph


    Microsoft SQL Server MVP
    http://www.insidesql.org/blogs/cmu

    Freitag, 25. Februar 2011 10:56
    Beantworter