Azure Backupstrategien: Databases

19. Juli 2016
Der letzte Teil zum Thema „Backupstrategien“ handelt von Azure Databases. Datenbanksicherungen sind sogar noch wichtiger als VM- oder Web App Sicherungen, da der Code, der auf einer VM oder Web App ausgeführt wird, meist zusätzlich noch in einer Versionsverwaltungssoftware vorhanden ist.
 
Auch bei den Datenbanken gibt es verschiedene Arten von Backup- und Wiederherstellungsmöglichkeiten.

Szenario 1:

„Ich habe kein Backup konfiguriert – kann ich dennoch auf einen älteren Stand meiner Datenbank zurückgreifen?“
 
Azure Datenbanken verfügen standardmäßig über den sogenannten „Point-In-Time-Restore“: Diesen müsst ihr weder aktivieren noch konfigurieren – es ist standardmäßig bei jeder Datenbank verfügbar.
 
Um einen älteren Datenbankstand wiederherzustellen, geht ihr ins Portal und wählt unter „Restore“ euren Wiederherstellungszeitpunkt aus:
 
 
Zwei Dinge gibt es jedoch zu beachten:
  1. Es wird dabei nicht die bestehende Datenbank mit den alten Daten überschrieben, sondern stattdessen wird eine neue Datenbank erstellt. Wollt ihr den bestehenden Datenbanknamen behalten, so müsst ihr nach dem Restore eure ursprüngliche Datenbank löschen und die wiederhergestellte Datenbank klonen. Der Klon bekommt dann den Namen der ursprünglichen Datenbank.
  2. Der Point-In-Time-Restore ist nur innerhalb eines bestimmten Zeitfensters verfügbar, welcher für die jeweiligen Pricing Tiers unterschiedlich groß ausfällt:
 
Basic Standard Premium
Letzte 7 Tage Letzte 14 Tage Letzte 35 Tage

 

Szenario 2:

„Ich habe meine Datenbank versehentlich gelöscht, ohne vorher ein Backup erstellt zu haben! Kann ich die gelöschte Datenbank wiederherstellen?“
 
Dank des Point-In-Time-Restore könnt ihr auch gelöschte Datenbanken wiederherstellen – sofern ihr sie innerhalb eures Restore-Zeitraumes (7, 14 bzw. 35 Tage) gelöscht habt.
 
Dazu müsst ihr einfach zur Parent-Ressource (also dem SQL Server) navigieren und im Dashboard ganz nach unten scrollen. Dort könnt ihr eure gelöschte Datenbank auswählen und (wie beim Point-In-Time Restore) wiederherstellen:
 

Szenario 3:

„Ich möchte den aktuellen Stand meiner Datenbank über den „Point-In-Time“-Zeitraum hinaus sichern. Wie kann ich das tun?“
 
Dies ist über die „Export“-Funktion möglich. Zwar verfügt nahezu jeder SQL-Client über eine Möglichkeit, Datenbanken zu exportieren - aber auch über das Azure Portal ist dies möglich. Der Vorteil: Durch Verwendung des Azure Exports, kann auf dieser Basis mit wenigen Klicks ein Import erfolgen. Den Button findet man im Dashboard der Datenbank:
 
 
Importiert wird wiederum über die Parent-Ressource, also den SQL-Server.

Szenario 4:

„Wie kann ich Datenbanken automatisiert in einem bestimmten Intervall exportieren?“
 
Exporte sind nicht nur über das Portal möglich, sondern auch per Powershell:
PS > New-AzureRmSqlDatabaseExport –ResourceGroupName  $ResourceGroupName –ServerName $ServerName –DatabaseName $DatabaseName –StorageKeytype $StorageKeyType –StorageKey $StorageKey StorageUri $StorageUri –AdministratorLogin $credential.UserName –AdministratorPassword $credential.Password
 
Jetzt müsst ihr euch bloß einen Azure Scheduler erstellen, der in einer bestimmten Frequenz den o.g. Code ausführt.

Szenario 5:

„Meine Datenbank muss hochverfügbar sein. Wie stelle ich diese Verfügbarkeit sicher?“
 
„Geo-Replication“ heißt das Zauberwort. Dies kann für jede Datenbank separat konfiguriert werden. Bis zu vier Replikate sind möglich, welche sich automatisch mit der Primär-Datenbank synchronisieren. Auf die replizierten Datenbanken besteht ausschließlich ein Lesezugriff. Falls nun die Primärdatenbank ausfällt (keine Verbindung möglich ist) so werden die Anfragen automatisch an eine der replizierten Datenbanken weitergeleitet.
 
 
Ein zusätzlicher Vorteil ist zudem der Lastenausgleich, der durch das Vorhandensein einer replizierten Datenbank entsteht.
 
Die replizierte Datenbank sollte aus Latenzgründen geographisch nah an der Primärdatenbank sein – aber nicht unbedingt in genau der gleichen Region, um Ausfälle aufgrund von Naturkatastrophen oder böswilliger Handlungen zu vermeiden.
 
Zu beachten ist, dass für die Erstellung eine replizierte Datenbank weitere Kosten anfallen.

Fazit:

Die Backup-Möglichkeiten der Azure Datenbanken bieten einen umfassenden Schutz vor Datenverlust. Bis auf die „automatisierten Backups“ gibt es kein Problem-Szenario, dessen Lösung nicht mit ein paar einfachen Klicks im Portal gelöst werden kann.
 
 

Neuen Kommentar schreiben