Sichern und Wiederherstellen einer Datenbank mit Azure SQL-Datenbank

Abgeschlossen

Die Sicherung und Wiederherstellung des SQL Server-PaaS-Angebots funktioniert anders als bei IaaS. Sicherungen werden für Azure SQL-Datenbank und Azure SQL Managed Instance automatisch generiert. Eine vollständige Sicherung wird einmal pro Woche erstellt, eine differenzielle Sicherung alle 12 Stunden und Transaktionsprotokollsicherungen alle 5–10 Minuten. Alle Sicherungen befinden sich in georedundanten Blobs (RA-GRS) mit Lesezugriff, die in ein Rechenzentrum repliziert werden, das auf der Grundlage von Azure-Regeln zugeordnet wird. Das bedeutet, dass Sicherungen in einem einzigen Rechenzentrum vor einem Ausfall sicher sind.

Datenbanksicherung und -wiederherstellung für SQL-Datenbank

SQL-Datenbank kann Sie mit Aufbewahrungsrichtlinien dabei unterstützen, die vorgeschriebenen Sicherungen für gesetzliche Zwecke einzuhalten. Sicherungsrichtlinien können pro Datenbank konfiguriert werden, wie in der folgenden Abbildung zu sehen:

Configuring automated backups for Azure SQL Database

Wenn der Server, auf dem sich die Datenbank befindet, gelöscht wird, werden zeitgleich alle Sicherungen gelöscht, und es gibt keine Möglichkeit, sie wiederherzustellen. Wenn der Server nicht gelöscht wird, die Datenbank aber schon, kann die Datenbank normal wiederhergestellt werden.

Sowohl SQL-Datenbank als auch SQL Managed Instance verfügen über ein Feature namens „Beschleunigte Datenbankwiederherstellung“ (Accelerated Database Recovery, ADR). Dieses Feature ist standardmäßig aktiviert und dient dazu, die Dauer zeitintensiver Transaktionen zu verkürzen, damit sie die Wiederherstellungszeit nicht beeinträchtigen. Die beschleunigte Datenbankwiederherstellung wurde zwar für Azure entwickelt und war ursprünglich eine Azure-basiertes Feature, sie wurde aber auch in SQL Server 2019 implementiert.

Hinweis

Sicherungen der verwalteten SQL-Datenbank-Instanz können nicht in SQL-Datenbank wiederhergestellt werden.

Point-in-Time-Wiederherstellung

Wenn Sie für eine Datenbank eine Zeitpunktwiederherstellung in SQL-Datenbank durchführen möchten, können Sie das Azure-Portal, Azure PowerShell, die Azure CLI oder die REST-API verwenden.

Restoring a database on SQL Database through Azure portal

Die obige Abbildung zeigt die Seite für die SQL-Datenbank-Wiederherstellung im Azure-Portal, auf der Sie eine Zeitpunktwiederherstellung für eine Datenbank durchführen können.

Die direkte Wiederherstellung wird für SQL-Datenbank und SQL Managed Instance nicht unterstützt. Vergewissern Sie sich vor dem Starten des Wiederherstellungsvorgangs, dass die Datenbank nicht vorhanden ist. Standardmäßig ist die Zeitpunkt-Aufbewahrungsrichtlinie auf sieben Tage festgelegt. Sie kann jedoch auf bis zu 35 Tage festgelegt werden.

Wiederherstellen einer gelöschten Datenbank

Sowohl SQL-Datenbank als auch SQL Managed Instance verfügen über ein Feature, mit dem eine gelöschte Datenbank auf den letzten verfügbaren Zeitpunkt vor dem Auftreten von DROP DATABASE wiederhergestellt werden kann.

Restoring a deleted database on SQL Database through Azure portal

Die obige Abbildung zeigt das Wiederherstellen einer gelöschten Datenbank in SQL-Datenbank. Auf der Seite Gelöschte Datenbanken werden eine Liste mit den gelöschten Datenbanken, die wiederhergestellt werden können, der Löschzeitpunkt der Datenbank (in UTC) und der Erstellungszeitpunkt der Datenbank (in UTC) angezeigt. Nach dem Auswählen der Datenbank wird die Seite SQL-Datenbank erstellen: Datenbank wiederherstellen geöffnet. Auf dieser Seite finden Sie den frühestmöglichen Wiederherstellungszeitpunkt, der für die ausgewählte Datenbank verfügbar ist.

Datenbanksicherung und -wiederherstellung für SQL Managed Instance

Azure verwaltet Sicherungen für Datenbanken in SQL Managed Instance automatisch, und sie funktionieren ähnlich wie bei SQL-Datenbank.

Sie können Datenbanken auch manuell mit SQL Managed Instance sichern und wiederherstellen. Dazu können Sie die bereits beschriebene SQL Server-Funktion für die Sicherung unter einer URL bzw. für die Wiederherstellung über eine URL verwenden. Hierfür sind Anmeldeinformationen für den Zugriff auf Azure Blob Storage-Container erforderlich. Dieses Feature wird von SQL-Datenbank nicht unterstützt.

Sie können nur eine Sicherung vom Typ COPY_ONLY generieren, da SQL Managed Instance die Protokollkette verwaltet. Ein Beispiel für eine Sicherungsanweisung sähe wie folgt aus:

BACKUP DATABASE contoso
TO URL = 'https://myacc.blob.core.windows.net/mycontainer/contoso.bak' 
WITH COPY_ONLY

Hinweis

Sicherungen der verwalteten SQL-Datenbank-Instanz können nicht in SQL-Datenbank wiederhergestellt werden.