MS SQL Server redundant machen und Backup und Recovery Lösung
Hallo zusammen,
wir stehen derzeit vor einer großen Frage und daher wäre es super wenn von Euch mal paar Inputs kommen.
Folgender Hintergrund:
Bei einem Kunden ist es erforderlich dass ein SQL Server möglichst 100% erreichbar ist.
Derzeit läuft der Server auf einer eigenen Hardware und die Datenbank wird mit einem eigenen Tool jede Stunde gesichert.
Bei einem Ausfall ist es aber so dass genau diese Stunde fehlt und noch schlimmer dass erst mal gar nix mehr geht.
Jetzt die Frage an Euch:
Wie könnte man es auslegen dass der Server an sich völlig redundant ist und der SQL Server ein
sauberes Backup&Recovery Konzept hat?
Mein einziger Gedanke wie man es umsetzen könnte wäre Virtualisierung mit redundater Hardware und NetApp als Speicher?
Gibts noch andere/bessere Möglichkeiten?
wir stehen derzeit vor einer großen Frage und daher wäre es super wenn von Euch mal paar Inputs kommen.
Folgender Hintergrund:
Bei einem Kunden ist es erforderlich dass ein SQL Server möglichst 100% erreichbar ist.
Derzeit läuft der Server auf einer eigenen Hardware und die Datenbank wird mit einem eigenen Tool jede Stunde gesichert.
Bei einem Ausfall ist es aber so dass genau diese Stunde fehlt und noch schlimmer dass erst mal gar nix mehr geht.
Jetzt die Frage an Euch:
Wie könnte man es auslegen dass der Server an sich völlig redundant ist und der SQL Server ein
sauberes Backup&Recovery Konzept hat?
Mein einziger Gedanke wie man es umsetzen könnte wäre Virtualisierung mit redundater Hardware und NetApp als Speicher?
Gibts noch andere/bessere Möglichkeiten?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 273982
Url: https://administrator.de/contentid/273982
Ausgedruckt am: 15.11.2024 um 17:11 Uhr
12 Kommentare
Neuester Kommentar
Guten Morgen,
Also jetzt mal im Ernst, wenn du nicht mal das SQL Server Management Studio kennst, um deine DB´s in Sicherheit zu bringen- frage ich mich wie ihr ein Projekt erstellen wollt mit 100 % Laufzeit. SQL Qluster und Replikation heißt das Zauberwort.
wie habt ihr den dem Kunden ein Angebot erstellt für die Lizenzierung ?
lg
Frank
Also jetzt mal im Ernst, wenn du nicht mal das SQL Server Management Studio kennst, um deine DB´s in Sicherheit zu bringen- frage ich mich wie ihr ein Projekt erstellen wollt mit 100 % Laufzeit. SQL Qluster und Replikation heißt das Zauberwort.
wie habt ihr den dem Kunden ein Angebot erstellt für die Lizenzierung ?
lg
Frank
Erstmal würde ich zustimmen das deine Kenntnisse echt etwas mau sind, an Replikation habe ich mich selbst noch nichtmal versucht und halte sie für nicht trivial. Es gäbe zur Replikation noch die Alternative "ganz normale", Virtualisierung mit HA einzusetzen. Fällt ein Host aus bootet dein DB Server auf dem anderen, Downtime entspricht in etwa der Bootzeit plus eine Minute oder so und deine DB reagiert wieder. Ein zentrales und vor allem redundantes Storrage ist natürlich zwigend. Wenn das nicht vorhanden ist ist ein SQL Cluster vermutlich sogar günstiger von den Lizenzkosten her.
auf Datei-Ebene
SQL M-Studio öffnen, Rechtsklick auf Datenbank
Optionen > Wiederherstellungsmodell vollständig
dann
Transaktionsprotokollversand aktivieren, Zyklus festlegen.
=> Zusätzlich zur Vollsicherung werden hier "Teilsicherungen" kumulativ angelegt.
=> Wenn du RAID 1+0 hast, sind die Daten also nach deinem Zyklus doppelt vorhanden.
=> Sollte die Datenbank abrauchen, kannst du nach deinem Zyklus den entsprechenden Zeitpunkt wiederherstellen.
Serverebene
Ist dein SQL Server eine VM, kannst du den Server nach dieser Art sichern. Es sichert den Zeitpunkt der VM inkl. Datenbank. Eine DB aber ständig über VM zu sichern ist nicht sinnvoll, dazu gibt es das o.g. TPV.
Datenbankspiegelung
Hier wird ein zweiter Server bereitgehalten, auf den quasi ständig repliziert wird - erfordert aber eine SQL Enterprise Edition. Weiterhin musst du deinem Programm(en) auch klar machen, dass wenn SQL-Server1 nicht erreichbar ist, diese nach SQL-Server2 schwenken - was oft der Knackpunkt ist für ein automatisches Failover. Dieses benötigt noch einen dritten Client als "Zeugen", da bitte ich aber selber nochmal zu googeln wie fähig dieser "Zeuge" (je nach deiner Version) ist.
Nach deiner Anforderung "SQL Server möglichst 100% erreichbar" musst du also mischen, d.h. Server + DB redundant machen und per Automation schwenken.
SQL M-Studio öffnen, Rechtsklick auf Datenbank
Optionen > Wiederherstellungsmodell vollständig
dann
Transaktionsprotokollversand aktivieren, Zyklus festlegen.
=> Zusätzlich zur Vollsicherung werden hier "Teilsicherungen" kumulativ angelegt.
=> Wenn du RAID 1+0 hast, sind die Daten also nach deinem Zyklus doppelt vorhanden.
=> Sollte die Datenbank abrauchen, kannst du nach deinem Zyklus den entsprechenden Zeitpunkt wiederherstellen.
Serverebene
Ist dein SQL Server eine VM, kannst du den Server nach dieser Art sichern. Es sichert den Zeitpunkt der VM inkl. Datenbank. Eine DB aber ständig über VM zu sichern ist nicht sinnvoll, dazu gibt es das o.g. TPV.
Datenbankspiegelung
Hier wird ein zweiter Server bereitgehalten, auf den quasi ständig repliziert wird - erfordert aber eine SQL Enterprise Edition. Weiterhin musst du deinem Programm(en) auch klar machen, dass wenn SQL-Server1 nicht erreichbar ist, diese nach SQL-Server2 schwenken - was oft der Knackpunkt ist für ein automatisches Failover. Dieses benötigt noch einen dritten Client als "Zeugen", da bitte ich aber selber nochmal zu googeln wie fähig dieser "Zeuge" (je nach deiner Version) ist.
Nach deiner Anforderung "SQL Server möglichst 100% erreichbar" musst du also mischen, d.h. Server + DB redundant machen und per Automation schwenken.
Datenbankspiegelung
Hier wird ein zweiter Server bereitgehalten, auf den quasi ständig repliziert wird - erfordert aber eine SQL Enterprise
Edition. Weiterhin musst du deinem Programm(en) auch klar machen, dass wenn SQL-Server1 nicht erreichbar ist, diese nach
SQL-Server2 schwenken - was oft der Knackpunkt ist für ein automatisches Failover. Dieses benötigt noch einen dritten
Client als "Zeugen", da bitte ich aber selber nochmal zu googeln wie fähig dieser "Zeuge" (je nach deiner
Version) ist.
Hier wird ein zweiter Server bereitgehalten, auf den quasi ständig repliziert wird - erfordert aber eine SQL Enterprise
Edition. Weiterhin musst du deinem Programm(en) auch klar machen, dass wenn SQL-Server1 nicht erreichbar ist, diese nach
SQL-Server2 schwenken - was oft der Knackpunkt ist für ein automatisches Failover. Dieses benötigt noch einen dritten
Client als "Zeugen", da bitte ich aber selber nochmal zu googeln wie fähig dieser "Zeuge" (je nach deiner
Version) ist.
Datenbankspiegelung funktioniert auch mit der Standardversion. Allerdings kann dann das Mirroring nur synchron betrieben werden. Das ist aber ja kein Nachteil.
Das mit dem dritten "Server" als Zeuge (es genügt auch die SQL Express Version) funktioniert zuverlässig.
Man benötigt daher 2 Standard Server-Lizenzen und die Cals nur für 1 Server.
Das eigentliche Problem das hin und wieder auftaucht ist, dass einige Programme den Connection String für Mirroring nicht unterstützen.
Und zu beachten ist auch, dass es Mirroring nur bis zum SQL 2014 gibt. Bei den folgenden Versionen wird diese Funktion nicht mehr bereitgestellt.
Tom
Zitat von @speedy26gonzales:
Bei einem Kunden ist es erforderlich dass ein SQL Server möglichst 100% erreichbar ist.
Bei einem Kunden ist es erforderlich dass ein SQL Server möglichst 100% erreichbar ist.
PS: "Möglichst 100%" ist auch ein sehr unglückliche Definition. Um für einen Dienst nahe 100% Verfügbarkeit zu gewährleisten braucht man zunächst mal unterschiedliche Standorte und sehr viele redundant ausglegte Komponenten.
Zitat von @speedy26gonzales:
Wie gesagt dachte ich an eine virtuelle Lösung mit redundanter Hardware und evtl. NetApp als Datenspeicher.
Wie gesagt dachte ich an eine virtuelle Lösung mit redundanter Hardware und evtl. NetApp als Datenspeicher.
Und da stellt sich die Frage wie ausfallsicher es sein soll.
Mein einziges Problem mit unserm SQL Server war das unsere EMC einen Firmwarefehler hatte und ich dann nicht mehr auf das LUN zugreifen konnte.
Also als erstes mal genaue Zahlen rausbekommen. Was kostet ein Ausfall pro stunde und wie lange könnt ihr euch sowas im Extremfall erlauben.