Datenbanken sind stabiler und zuverlässiger als früher, aber es besteht immer noch die Möglichkeit, dass Sie aufgrund eines Fehlers in der Datenbank-Engine Daten verlieren können. Ein weiteres Problem, das wahrscheinlich nicht so schnell gelöst wird, ist die Zuverlässigkeit der Infrastruktur, die Sie zum Hosten Ihrer Datenbank verwenden. Azure-Sicherungspläne können hier eine große Hilfe sein.

Es gibt eine Reihe verschiedener Lösungen für Azure Backup SQL-Datenbanken, an die sich Benutzer wenden können. Hoffentlich müssen Sie Ihre Backups nie wiederherstellen, aber falls das jemals passiert, sollten Sie Ihre Daten immer sichern und regelmäßig überprüfen. In diesem Beitrag zeigen wir Ihnen, wie Sie dies mit Azure-Speicher als Zielrepository tun.

Azure Backup: für sql gehostete Datenbanken Schritt für Schritt

Das Sichern eines SQL-Servers erfolgt in der Regel mit SQL Server Management Studio (SSMS). Es ist ein einfacher Prozess, der sich seit der Veröffentlichung von SQL Server nicht wesentlich geändert hat. Backup-Ziele sind in der Regel Festplatten oder Bänder, da solche Formate immer noch die bevorzugten und zuverlässigsten „Offline“-Methoden zum Speichern von Daten sind.

Ein neuerer Ansatz bei der Azure-Datenbanksicherung besteht darin, Ihre Datenbank direkt in einem Cloudspeicherdienst zu sichern. Mit SQL Server können Sie Ihre Daten in Azure Blob Storage sichern, einem relativ kostengünstigen Speicherdienst, der häufig für Azure Cold Storage verwendet wird. Azure Blob Storage speichert Ihre Daten redundant an mindestens drei Standorten im selben Azure-Rechenzentrum. Die maximale Menge an verfügbarem redundantem Speicher speichert Daten redundant über alle 42 Azure-Regionen und Rechenzentren hinweg, die sich derzeit auf der ganzen Welt befinden. Diese Streuung ist einer der klaren Vorteile für in der Cloud gehostete Datenbanken.

Das Sichern Ihrer Daten in einer URL ist ein Feature, das in SQL Server 2012 SP1 CU2 eingeführt wurde.

In SQL Server 2016 (13.x) wurden zusätzliche Verbesserungen an diesem Feature eingeführt, das die Verwendung von Blockblobs für die Datenspeicherung, Signaturen für den gemeinsamen Zugriff für erhöhte Sicherheit und Striping für eine verbesserte Leistung ermöglicht.

Lassen Sie uns die Schritte durchgehen, die zum Konfigurieren der Sicherung für die SQL-Datenbank in Azure erforderlich sind.

Voraussetzung:

Der Azure-Speicher, der zum Speichern der SQL-Datenbanksicherung verwendet wird, sollte als Voraussetzung erstellt und konfiguriert werden.

Wechseln Sie im Azure-Verwaltungsportal zu „Ressource erstellen“, wählen Sie dann „Speicher“ und dann „Speicherkonto“ aus. Geben Sie basierend auf Ihren Präferenzen Details wie Ressourcengruppenname, Speicherkontoname und Speicherort an. Optimale Einstellungen für Kontotyp, Replikation und Zugriffsebene können wie unten gezeigt konfiguriert werden. Wenn Sie fertig sind, klicken Sie auf „Weiter“.

Konfigurieren Sie im Abschnitt „Erweitert“ die Einstellungen wie in der Abbildung unten dargestellt. Blob Soft Delete ist aktiviert, um den Schutz vor versehentlichem Löschen von Sicherungsdaten aus dem Speicherkonto zu gewährleisten.

Fügen Sie im nächsten Schritt alle Tags hinzu, die für Ihre Umgebung relevant sind, wie im folgenden Beispiel gezeigt.

Überprüfen Sie die Einstellungen, und fahren Sie mit dem Erstellen des Speicherkontos fort.Sobald das Speichervolume erstellt wurde, stellen Sie einen Container zum Speichern der Sicherungsdaten bereit. Klicken Sie im Speicherkonto auf „+Container“. Geben Sie einen Namen für den Container an, und legen Sie seine Zugriffsebene auf privat fest.

Sicherungsdateien (.bak) werden mithilfe von Speicherschlüsseln oder SaS-Zugriffstoken zur Authentifizierung in diesen Container hochgeladen.

Backup-Konfiguration:

In den folgenden Schritten erfahren Sie, wie Sie eine Datenbank sichern. Verwenden Sie SQL Management Studio, um eine Verbindung mit Ihrem SQL-Server herzustellen. Klicken Sie mit der rechten Maustaste auf die zu sichernde DB. Wählen Sie „Aufgaben“ und dann „Sichern“.

Wählen Sie auf der Seite Allgemein im Dropdown-Menü das Ziel als „URL“ aus.


Klicken Sie auf „Neuer Container“.

Sie werden aufgefordert, sich bei Ihrem Azure-Abonnement anzumelden. Wählen Sie den Container aus, den wir zuvor erstellt hatten, und erstellen Sie einen Berechtigungsnachweis. Klicken Sie auf „OK“, um fortzufahren.

Die Sicherungs-URL wird nun im Assistenten aufgelistet. Klicken Sie auf „OK“, um das Backup zu starten.

Sobald die Sicherung erfolgreich abgeschlossen wurde, wird die folgende Meldung angezeigt:

Wenn Sie im Azure-Portal vom Speicherkonto zum Containernamen navigieren, können Sie sehen, dass die Sicherungsdatei hochgeladen wurde:

Hinweis: Ein Problem, das beim direkten Hochladen in Azure oder einen anderen Speicherdienst im Internet auftreten kann, besteht darin, dass die Uploadgeschwindigkeit möglicherweise nicht sehr schnell ist. Wenn sich dies als Problem erweist, sollten Sie zuerst auf einem Laufwerk sichern und die Daten später in die Cloud hochladen.

Archivierung gehostete Datenbanken in der Cloud

Ihre Datenbank wird wahrscheinlich im Laufe der Zeit wachsen, und wenn sie wächst, wird sie mehr Speicherplatz benötigen. Es erfordert auch mehr Speicherplatz für vollständige Backups sowie mehr Zeit, um vollständige Backups abzuschließen.

Eine einfache Lösung, um diese Platzanforderungen zu lösen, wäre, alle Daten zu löschen, die Sie nicht benötigen. In den meisten Fällen können Sie dies jedoch nicht tun, entweder weil Sie diese Daten zu einem späteren Zeitpunkt benötigen oder weil es staatliche Vorschriften gibt, die Sie verpflichten, alle Daten für einen bestimmten Zeitraum aufzubewahren. In solchen Fällen kommt die Archivierung ins Spiel.

Im nächsten Abschnitt werden einige Workflows behandelt, die Ihren Archivierungsanforderungen entsprechen könnten. Wenn Ihre Daten aus irgendeinem Grund in derselben Datenbank verbleiben müssen, können Sie alle diese Daten in eine separate Tabelle verschieben.

Sie sollten auch sicherstellen, dass sich diese Tabelle in einer separaten Dateigruppe befindet, möglicherweise auf einem separaten Datenträger. Da die Benutzer wahrscheinlich auf diese „archivierten“ Daten zugreifen möchten, können Sie eine Ansicht erstellen, die alle relevanten Tabellen „zusammenführt“, und dann sollten die Abfragen auf die Ansicht statt auf die ursprüngliche Tabelle „zielen“. Mit diesem Ansatz können Sie Wartungsaufträge in kürzerer Zeit ausführen und gleichzeitig alle Daten bereitstellen.

Wenn Sie es sich leisten können, die Daten in eine separate Datenbank zu verschieben, ersparen Sie sich einige Wartungsarbeiten an der Primärdatenbank. Der Workflow ist im Grunde derselbe wie im obigen Beispiel, mit der Ausnahme, dass Sie entweder die SQL Server verknüpfen müssen, um weiterhin alle Daten bereitzustellen, oder die Anwendungen auf den zweiten SQL Server aufmerksam machen und ihn direkt abfragen müssen, was nicht optimal ist, da diese zweite Datenbank zu diesem Zeitpunkt als eine weitere Produktionsdatenbank fungiert.

In einigen Szenarien ist es nicht erforderlich, Ihre Daten in einer Datenbank „online“ zu halten. In diesen Fällen müssen Sie nur Ihre Daten sichern, mindestens einmal überprüfen, ob Sie sie wiederherstellen können, und dann die Daten aus der Datenbank löschen. Wenn Sie es jemals benötigen, können Sie einfach die Daten aus der Sicherungsdatei in der Datenbank wiederherstellen.

Um die Dinge einfacher zu machen, hat Microsoft mit SQL Server 2016 eine Funktion namens Stretch Database eingeführt. Mit Stretch Database können Sie alle Daten, die Sie in Ihrer gehosteten Datenbank nicht benötigen, in eine Azure SQL-Datenbank verschieben, die viel billigeren Speicher bereitstellt und bei der Sie sich keine Sorgen um die Infrastruktur machen müssen.

Sie müssen nur eine Richtlinie auf Ihrem gehosteter Server erstellen, die angibt, welche Daten verschoben werden. Die Anwendungen, die Ihre primäre Datenbank verwenden, müssen keine Änderungen implementieren, da SQL Server das Abrufen der Daten aus der Azure SQL-Datenbank übernimmt.

Überprüfen und Wiederherstellen von Azure Backups

Wenn Datenbanken im Azure-Speicher gesichert werden, können Sie auswählen, ob sie „MIT PRÜFSUMMEN“ oder ohne erstellt werden sollen. Nachdem die Sicherung erstellt wurde, können Sie den Befehl „RESTORE VERIFYONLY“ ausführen, um festzustellen, ob ein Problem mit der Sicherungsdatei vorliegt. Dies ist kein erforderlicher Schritt, aber es ist eine bewährte Methode für die Implementierung. Sie haben immer die Möglichkeit, das Backup in einer anderen Datenbank wiederherzustellen und die Daten dort zu überprüfen. Dies ist ein zeitaufwändiger Prozess und meist unnötig, wenn Sie dies wirklich tun möchten, können Sie azure Automation jederzeit verwenden, um einige Skripts für jeden Sicherungsupload auszuführen.

Wenn Sie versuchen, eine Azure SQL-Datenbank wiederherzustellen, benötigen Sie nur wenige Klicks über das Azure-Portal, um sie zu einem gewünschten Zeitpunkt wiederherzustellen. Denken Sie daran, dass diese Sicherungen je nach Dienstebene entweder 7 oder 35 Tage aufbewahrt werden. Das Wiederherstellen von Sicherungen auf einem SQL Server erfolgt in der Regel mit SQL Server Management Studio. Der Wiederherstellungsprozess ist unkompliziert und folgt diesen Richtlinien. Wenn Sie sich in einer Situation befinden, in der Sie eine Transaktionsprotokollsicherung wiederherstellen müssen, weil Ihre letzte Sicherung nicht alle Transaktionen abdeckt, die stattgefunden haben, bevor etwas schief gelaufen ist, können Sie die hier beschriebenen Schritte ausführen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.