speedy26gonzales
Goto Top

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?

Content-ID: 273982

Url: https://administrator.de/contentid/273982

Ausgedruckt am: 15.11.2024 um 17:11 Uhr

wiesi200
wiesi200 07.06.2015 um 17:28:26 Uhr
Goto Top
Hallo,

Zum einen hat der SQL ein Backup Tool on Board mit der man ein Sauberes Backup&Recover Konzept aufstellen kann aber das hat wenig mit Redundanz zu tun. Natürlich kann man einen VM Cluster machen aber es gibt auch die Möglichkeit den SQL Server als Cluster zu betreiben
speedy26gonzales
speedy26gonzales 07.06.2015 aktualisiert um 19:58:10 Uhr
Goto Top
Hi,

Du meinst MS SQL Server selbst bringt ein Backuptool mit? Dort kann ich dann sicherstellen dass keine Daten abhanden kommen?
Muss dazu sagen dass der Server auf dem die SQL Datenbanken liegen ein RAID 1+0 haben.
Allerdings hatte ich schon mal den Fall dass der RAID Controller gesponnen hat und dann die Daten darauf trotzdem Schrott waren.

Das mit dem SQL Cluster muss ich mir mal anschauen. Hört sich auch interessant an.
wiesi200
wiesi200 07.06.2015 um 21:24:04 Uhr
Goto Top
Wenn du ein Backup zurückspielst dann werden immer die Daten seit dem Backup abhanden kommen.

Ich hab Stündlich eine Transaktionslog Sicherung und 2x am Tag eine Vollsicherung + noch ein paar andere Sicherungen

Wie oft hast du denn überhaupt Probleme mit der Datenbank?
speedy26gonzales
speedy26gonzales 07.06.2015 um 21:57:16 Uhr
Goto Top
Hi,

bisher wird die Datenbank jede Stunde gesichert.

Allerdings darf es in Zukunft nicht vorkommen dass überhaupt mehr wie ein paar Minuten aus der Datenbank fehlen.
Im besten Fall sollte gar nix fehlen.

Probleme derzeit keine, aber wir müssen ein System aufziehen dass 1. gegen Hardwareausfall geschützt ist und 2. gegen Datenverlust in der Datenbank.

Deswegen dachte ich ja auch an Redundanz der Hardware, oder des Systems?

Derzeit sind geplant 1x Hardwareserver für die Datenbank und ein 2. Hardwareserver als Backup.
Stellt sich aber die Frage wie ich sicherstellen kann dass auf dem zweiten Server die gleichen Daten/Strukturen/usw. .. liegen.
Da dachte ich eben an ein virtuallisiertes Cluster oder sowas.
Vision2015
Vision2015 08.06.2015 aktualisiert um 07:02:43 Uhr
Goto Top
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
ukulele-7
ukulele-7 08.06.2015 um 08:13:48 Uhr
Goto Top
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.
Tommy70
Tommy70 08.06.2015 um 09:07:11 Uhr
Goto Top
Hallo,

eine weitere Möglichkeit wäre auch noch SQL Mirroring (falls deine Anwendungen das auch unterstützen).
Ist Lizenztechnisch billiger als ein Cluster und falls der Prinzipal Server ausfällt übernimmt der Spiegel Server innerhalb von ein paar Sekunden.

Tom
Andinistrator1
Andinistrator1 08.06.2015 aktualisiert um 11:02:56 Uhr
Goto Top
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.
Tommy70
Tommy70 08.06.2015 aktualisiert um 11:16:04 Uhr
Goto Top
Zitat von @Andinistrator1:

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.

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
ukulele-7
ukulele-7 08.06.2015 um 12:15:48 Uhr
Goto Top
Zitat von @speedy26gonzales:
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.
speedy26gonzales
speedy26gonzales 08.06.2015 um 14:51:06 Uhr
Goto Top
Hi Leute,

Danke für die Antworten.
Und Ja einige von Euch haben Recht dass ich nicht der Datenbankprofi bin.

Ich will nur vorab ein paar Infos einholen um rauszufinden ob wir hierzu externe Hilfe benötigen.

Deswegen auch meine Frage was es noch für Möglichkeiten gibt um einen Server inkl. Datenbank möglichst redundant und gegen Datenverlust auszulegen.

Wie gesagt dachte ich an eine virtuelle Lösung mit redundanter Hardware und evtl. NetApp als Datenspeicher.
wiesi200
wiesi200 08.06.2015 um 16:15:47 Uhr
Goto Top
Zitat von @speedy26gonzales:

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.