none
Eine Datenbank in 3 Standorten verfügbar machen RRS feed

  • Frage

  • Hallo zusammen,

    nach sehr langer Zeit hab ich auch mal wieder eine Frage. ;)

    Wenn man eine MSSQL Serverdatenbank an mehreren Standorten allways zur Verfügung haben möchte, muss die Datenbank dafür entwickelt sein oder macht der SQL Server das dann selbst im Hintergrund?

    Hintergrund zur Frage: Wir haben eine Datenbank auf die von 3 Standorten zugegriffen werden soll. Zur Zeit ist die DB nur an einem Standort im Einsatz. Wenn jetzt die beiden anderen Standorte noch drauf zugreifen würden, aber die Standortverbindung ausfällt, wäre die DB nicht mehr erreichbar für die beiden anderen Standorte.

    Wie könnte man so eine Anforderung lösen? Ist AllwaysOn hier eine Variante? Ein Cluster? Wie kann/muss ich mir die Erreichbarkeit dann vorstellen? Wie funktioniert das mit AllwaysOn oder einem Cluster, wenn die anderen Nodes nicht erreichbar sind? Ist die DB am jeweiligen Standort dann immer noch erreichbar?

    Vielen Dank schon im Voraus.


    Servus
    Winfried

    Gruppenrichtlinien
    HowTos zum WSUS Package Publisher
    WSUS Package Publisher
    HowTos zum Local Update Publisher
    NNTP-Bridge für MS-Foren


    Donnerstag, 21. Oktober 2021 08:22

Antworten

  • Du musst sicherstellen, dass die DB immer erreichbar ist.

    Für Fehlersituationen gibts den Cluster mit anschließender Syncronisation, wenn die Verbindung wieder steht.
    Dies gilt aber nur für den Ausfall des SQL-Servers, nicht für den Ausfall der Client-Verbindungen.

    https://docs.microsoft.com/de-de/sql/sql-server/failover-clusters/windows/sql-server-multi-subnet-clustering-sql-server?view=sql-server-ver15

    Das große Problem ist nämlich dei Möglichkeit von konkurierenden Updates in getrennten Datenbanken, sowie die Lock-Escalation bei Transaktionen, die nicht über 2 Server funktioniert.
    Alles was ich bisher dazu gefunden habe ist, dass Cluster nur der Sicherheit dient, aber ein paralleles Abfragen schon nicht geht.

    Aber bestimmt kennt da jemand eine Lösung;-).

    Donnerstag, 21. Oktober 2021 10:36
  • Moin,

    AlwaysOn bietet nur eine schreibbare Kopie und eine oder mehrere weitere Kopien, die entweder Read-Only sind oder gar nicht zugreifbar, bis sie in der Failover-Reihenfolge dran sind. Der Zugriff passiert durch einen Listener, der eine "schwebende" Cluster-Ressource ist und den Zugriff auf eine passende Kopie lenkt (dafür aber selbst erreicht werden muss). Dafür funktioniert das mit jedem DB-Schema.

    Wenn jeder Standort unabhängig von den anderen in die DB schreiben können soll, ist es eine Multimaster-Replikation, und dafür muss die Datenbank in der Tat entwickelt worden sein. Hier eine Übersicht: https://www.sqlshack.com/sql-server-replication-overview-of-components-and-topography


    Evgenij Smirnov

    http://evgenij.smirnov.de

    Donnerstag, 21. Oktober 2021 13:11

Alle Antworten