Wiederherstellen einer Datenbank aus einer Sicherung in Azure SQL-Datenbank
Gilt für: Azure SQL-Datenbank
Dieser Artikel enthält Schritte zum Wiederherstellen einer Datenbank aus einer Sicherung in Azure SQL-Datenbank, einschließlich Hyperscale-Datenbanken.
Automatische Datenbanksicherungen schützen Ihre Datenbanken vor Benutzer- und Anwendungsfehlern, versehentlichen Datenbanklöschungen und längeren Ausfällen. Diese integrierte Funktion ist für alle Dienstebenen und Computegrößen verfügbar. Die folgenden Optionen stehen für die Datenbankwiederherstellung mithilfe automatisierter Sicherungen zur Verfügung:
- Erstellen Sie eine neue Datenbank auf demselben Server, die zu einem bestimmten Zeitpunkt innerhalb des Aufbewahrungszeitraums mit Zeitpunktwiederherstellung wiederhergestellt wird.
- Sie können eine Datenbank auf demselben Server erstellen, die zum Löschzeitpunkt einer gelöschten Datenbank wiederhergestellt werden kann.
- Erstellen Sie eine neue Datenbank auf einem beliebigen Server in derselben Region, die bis zum Zeitpunkt eines aktuellen Backups mit Langzeitaufbewahrungs-Wiederherstellung oder Geo-Wiederherstellung wiederhergestellt wird.
- Sie können eine neue Datenbank auf einem beliebigen Server in einer beliebigen anderen Region erstellen, die zum Zeitpunkt der aktuellsten replizierten Backups mit Geo-Wiederherstellung wiederhergestellt werden kann.
Wenn Sie die Langzeitaufbewahrung (LTR) konfiguriert haben, können Sie auch eine neue Datenbank aus jeder Langzeitaufbewahrungssicherung auf einem beliebigen Server erstellen.
Wichtig
- Sie können eine vorhandene Datenbank während der Wiederherstellung nicht überschreiben.
- Datenbankwiederherstellungsvorgänge stellen die Tags der ursprünglichen Datenbank nicht wieder her.
Wenn Sie die Dienstebene „Standard“ oder „Premium“ im Kaufmodell „DTU“ verwenden, fallen bei der Wiederherstellung Ihrer Datenbanken möglicherweise zusätzliche Speicherkosten an. Die zusätzlichen Kosten entstehen, wenn die maximale Größe der wiederhergestellten Datenbank die mit der Dienstebene und dem Dienstziel der Zieldatenbank verbundene Menge des Speicherplatzes überschreitet.
Ausführliche Informationen zu den Preisen für zusätzlichen Speicherplatz siehe SQL-Datenbank – Preise. Wenn die tatsächlich verwendete Speichermenge kleiner als die enthaltene Speichermenge ist, können Sie diese zusätzlichen Kosten durch Festlegen der maximalen Datenbankgröße auf die enthaltene Menge vermeiden.
Die Zeit, die zum Wiederherstellen einer Datenbank über automatisierte Datenbanksicherungen benötigt wird, hängt von mehreren Faktoren ab:
- Größe der Datenbank
- Computegröße der Datenbank
- Anzahl der beteiligten Transaktionsprotokolle
- Menge der erneut auszuführenden Aktivitäten, um den Wiederherstellungspunkt wiederherzustellen
- Netzwerkbandbreite, sofern die Wiederherstellung in einer anderen Region erfolgt
- Anzahl der gleichzeitigen Wiederherstellungsanforderungen, die in der Zielregion verarbeitet werden
Bei einer großen oder sehr aktiven Datenbank kann die Wiederherstellung mehrere Stunden dauern. Ein längerer Ausfall in einer Region könnte eine hohe Anzahl von Geowiederherstellungsanforderungen für die Notfallwiederherstellung verursachen. Wenn es viele Anforderungen gibt, kann sich die Wiederherstellungszeit bei einzelnen Datenbanken erhöhen. Der Großteil der Datenbankwiederherstellungen erfolgt in weniger als 12 Stunden.
Für eine einzelne Subscription bestehen die folgenden Einschränkungen hinsichtlich der Anzahl gleichzeitiger Wiederherstellungsanforderungen. Diese Einschränkungen gelten für eine beliebige Kombination von Point-in-Time-Wiederherstellungen, Geowiederherstellungen und Wiederherstellungen aus einer langfristig aufbewahrten Sicherung.
Bereitstellungsoption | Max. Anzahl gleichzeitiger Anforderungen, die verarbeitet werden | Max. Anzahl gleichzeitiger Anforderungen, die übermittelt werden |
---|---|---|
Einzeldatenbank (pro Subscription) | 30 | 100 |
Pool für elastische Datenbanken (pro Pool) | 4 | 2.000 |
Für die Wiederherstellung mithilfe automatisierter Sicherungen gelten die folgenden Voraussetzungen:
- Ein Mitglied der Teilnehmerrollee oder der SQL Server Teilnehmerrolle in dem Abonnement oder der Ressourcengruppe, die den logischen Server enthält
- Sie müssen der Besitzer der Subscription- oder Ressourcengruppe sein
Weitere Informationen finden Sie unter Azure RBAC: Integrierte Rollen.
Sie können das Azure-Portal, PowerShell oder die REST-API zur Wiederherstellung verwenden. Die Nutzung von Transact-SQL ist nicht möglich.
Sie können jede Datenbank zu einem früheren Zeitpunkt innerhalb des Aufbewahrungszeitraums wiederherstellen. In der Wiederherstellungsanforderung kann jede Dienstebene oder Computegröße für die wiederhergestellte Datenbank angegeben werden. Wenn Sie eine Datenbank in einem Pool für elastische Datenbanken wiederherstellen, müssen Sie über ausreichende Ressourcen im Pool verfügen, damit die Datenbank aufgenommen werden kann.
Nach Abschluss der Wiederherstellung wird eine neue Datenbank auf demselben Server wie die ursprüngliche Datenbank erstellt. Die wiederhergestellte Datenbank wird zu normalen Preisen basierend auf der Dienstebene und Computegröße in Rechnung gestellt. Kosten entstehen erst, wenn die Datenbankwiederherstellung abgeschlossen ist.
Im Allgemeinen wird beim Wiederherstellen der Datenbank der Zustand zu einem früheren Zeitpunkt wiederhergestellt. Sie können die wiederhergestellte Datenbank als Ersatz für die ursprüngliche Datenbank behandeln oder als Datenquelle zum Aktualisieren der ursprünglichen Datenbank verwenden.
Wichtig
- Sie können die Zeitpunktwiederherstellung einer Datenbank auf demselben Server durchführen. Die serverübergreifende, subscriptionübergreifende und geoübergreifende Zeitpunktwiederherstellung wird derzeit nicht unterstützt. Informationen zum Wiederherstellen einer Datenbank in einer anderen Region mithilfe von georeplizierten Sicherungen finden Sie unter Geowiederherstellung.
- Sie können keine Point-in-Time-Wiederherstellung für eine sekundäre Geodatenbank durchführen. Dies ist nur für eine primäre Datenbank möglich.
- Der
BackupFrequency
-Parameter wird für Hyperscale-Datenbanken nicht unterstützt. - Datenbankwiederherstellungsvorgänge sind ressourcenintensiv und erfordern möglicherweise eine Dienstebene von S3 oder höher für die Wiederherstellungsdatenbank (Zieldatenbank). Nach Abschluss der Wiederherstellung wird die Datenbank oder der Pool für elastische Datenbanken ggf. nach unten skaliert.
Ersetzung der Datenbank
Wenn Sie die ursprüngliche Datenbank durch die wiederhergestellte Datenbank ersetzen möchten, sollten Sie die ursprüngliche Computegröße und Dienstebene der Datenbank angeben. Sie können die ursprüngliche Datenbank dann umbenennen und der wiederhergestellten Datenbank mit dem T-SQL-Befehl ALTER DATABASE den ursprünglichen Namen geben.
Wiederherstellung der Daten
Wenn Sie planen, zum Wiederherstellen nach einem Benutzer- oder Anwendungsfehler Daten aus der wiederhergestellten Datenbank abzurufen, müssen Sie ein Datenwiederherstellungsskript schreiben und ausführen, das Daten aus der wiederhergestellten Datenbank extrahiert und auf die ursprüngliche Datenbank anwendet. Der Wiederherstellungsvorgang könnte zwar eine ganze Weile dauern, die wiederherzustellende Datenbank wird jedoch während des Wiederherstellungsvorgangs in der Datenbankliste angezeigt.
Wenn Sie die Datenbank während der Wiederherstellung löschen, wird der Wiederherstellungsvorgang abgebrochen. Für die Datenbank, deren Wiederherstellung nicht abgeschlossen wurde, werden Ihnen keine Kosten in Rechnung gestellt.
Um über das Azure-Portal den Zustand einer Datenbank zu einem bestimmten Zeitpunkt wiederherzustellen, öffnen Sie die Datenbank-Übersichtsseite, und wählen Sie auf der Symbolleiste die Option Wiederherstellen aus, um die Seite SQL-Datenbank erstellen – Datenbank wiederherstellen zu öffnen:
Geben Sie auf der Seite Erstellen SQL-Datenbank – Datenbank wiederherstellen die Quelle für das Backup an und wählen Sie dann den Backuppunkt aus, aus dem eine neue Datenbank erstellt wird. Da die ausgewählte Datenbank auf dem aktuellen Server wiederhergestellt werden soll, sind die Quelldatenbank und der Zielserver abgeblenkt.
Um einen Wiederherstellungsvorgang für eine Langzeitsicherung durchzuführen, können Sie das Azure-Portal, die Azure CLI, Azure PowerShell oder die REST-API verwenden. Weitere Informationen finden Sie unter Wiederherstellen einen Langzeitsicherung.
Um eine Langzeitsicherung mithilfe des Azure-Portals wiederherzustellen, wechseln Sie zu Ihrem logischen Server. Wählen Sie Sicherungen unter Datenverwaltung aus, und wählen Sie dann Verwalten unter Verfügbare Sicherungen mit Langzeitaufbewahrung für die Datenbank aus, die Sie wiederherstellen möchten.
Sie können den Zustand einer gelöschten Datenbank zum Zeitpunkt des Löschens oder früher auf demselben Server mithilfe des Azure-Portals, der Azure CLI, Azure PowerShell und der REST-API wiederherstellen.
Wichtig
Wenn Sie einen Server löschen, werden auch alle seine Datenbanken und ihre PITR-Backups gelöscht. Sie können einen gelöschten Server nicht wiederherstellen, und Sie können die gelöschten Datenbanken nicht aus PITR-Sicherungen wiederherstellen. Wenn Sie LTR-Sicherungen für diese Datenbanken konfiguriert haben, können Sie diese Sicherungen verwenden, um die Datenbanken auf einem anderen Server wiederherzustellen.
Um über das Azure-Portal den Zustand einer gelöschten Datenbank zum Löschzeitpunkt wiederherzustellen, öffnen Sie die Übersichtsseite des Servers, und wählen Sie Gelöschte Datenbanken aus. Wählen Sie eine gelöschte Datenbank aus, die Sie wiederherstellen möchten, und geben Sie dann den Namen für die neue Datenbank ein, die mit den aus der Sicherung wiederhergestellten Daten erstellt wird.
Tipp
Es könnte einige Minuten dauern, bis kürzlich gelöschte Datenbanken auf der Seite Gelöschte Datenbanken im Azure-Portal angezeigt werden, oder wenn Sie gelöschte Datenbanken programmgesteuert anzeigen möchten.
Mithilfe von Geowiederherstellung können Sie eine gelöschte Datenbank über das Azure-Portal, die Azure CLI, Azure PowerShell und die REST-API wiederherstellen.
Wichtig
- Die Geowiederherstellung ist nur für Datenbanken verfügbar, für die georedundanter Sicherungsspeicher konfiguriert wurde. Wenn Sie derzeit keine georeplizierten Sicherungen für eine Datenbank verwenden, können Sie dies durch Konfigurieren der Sicherungsspeicherredundanz ändern.
- Sie können eine Geowiederherstellung nur für Datenbanken durchführen, die sich in derselben Subscription befinden.
Geowiederherstellung verwendet georeplizierte Sicherungen als Quelle. Sie können eine Datenbank auf einem beliebigen logischen Server in einer beliebigen Azure-Region aus den letzten georeplizierten Sicherungen wiederherstellen. Sie können eine Geowiederherstellung anfordern, auch wenn die Datenbank oder die gesamte Region aufgrund eines Ausfalls nicht zugänglich ist.
Die Geowiederherstellung ist die Standardoption für die Wiederherstellung, wenn Ihre Datenbank aufgrund eines Vorfalls in der Hostingregion nicht verfügbar ist. Sie können die Datenbank auf einem Server in einer beliebigen anderen Region wiederherstellen.
Zwischen der Erstellung einer Sicherung und ihrer Georeplikation in einem Azure-Blob in einer anderen Region tritt eine Verzögerung auf. Daher kann die wiederhergestellte Datenbank bis zu einer Stunde hinter der ursprünglichen Datenbank zurückliegen. Die folgende Abbildung zeigt eine Datenbankwiederherstellung aus der letzten verfügbaren Sicherung in einer anderen Region.
Erstellen Sie im Azure-Portal eine neue Einzeldatenbank, und wählen Sie eine verfügbare Sicherung für die Geowiederherstellung aus. Die neu erstellte Datenbank enthält die mittels Geowiederherstellung wiederhergestellten Sicherungsdaten.
Wenn Sie eine Einzeldatenbank mittels Geowiederherstellung aus dem Azure-Portal in der Region und auf dem Server Ihrer Wahl wiederherstellen möchten, führen Sie die folgenden Schritte aus:
- Öffnen Sie den Bereich SQL-Datenbank erstellen im Azure-Portal. Geben Sie auf der Registerkarte Grundeinstellungen die erforderlichen Informationen ein.
- Wählen Sie Zusätzliche Einstellungen aus.
- Wählen Sie unter Vorhandene Daten verwenden die Option Sicherung aus.
- Wählen Sie in der Liste der verfügbaren Geowiederherstellungssicherungen eine Sicherung aus.
Schließen Sie den Vorgang des Erstellens einer Datenbank aus der Sicherung ab. Wenn Sie eine Datenbank in Azure SQL-Datenbank erstellen, enthält diese die mittels Geowiederherstellung wiederhergestellte Sicherung.
Weitere Informationen zur Verwendung der Geowiederherstellung finden Sie unter Geowiederherstellung.
Hinweis
Weitere Informationen über die Wiederherstellung nach einem Ausfall finden Sie unter Anleitung zur Notfallwiederherstellung und in der Prüfliste für Hochverfügbarkeit und Notfallwiederherstellung.
Die Geowiederherstellung ist die einfachste in SQL-Datenbank verfügbare Lösung für die Notfallwiederherstellung. Sie beruht auf automatisch erstellten georeplizierten Sicherungen mit einem RPO (Recovery Point Objective) von bis zu 1 Stunde und einem geschätzten Wiederherstellungszeitziel (Recovery Time Objective, RTO) von bis zu 12 Stunden. Sie garantiert nicht, dass die Zielregion über die Kapazität zum Wiederherstellen Ihrer Datenbanken nach einem regionalen Ausfall verfügt, da der Bedarf voraussichtlich stark ansteigen wird. Wenn Ihre Anwendung relativ kleine Datenbanken verwendet und für das Unternehmen nicht von entscheidender Bedeutung ist, ist die Geowiederherstellung eine geeignete Notfallwiederherstellungslösung.
* Verwenden Sie für unternehmenskritische Anwendungen, die große Datenbanken erfordern und die Geschäftskontinuität sicherstellen müssen, Failovergruppen. Dieses Feature bietet ein niedrigeres RPO und RTO, und die Kapazität ist immer garantiert.
Weitere Informationen zu Optionen für Geschäftskontinuität finden Sie unter Übersicht über die Geschäftskontinuität.
Hinweis
Wenn Sie die Geowiederherstellung als Notfallwiederherstellungslösung verwenden möchten, empfehlen wir, regelmäßige Drills durchzuführen, um die Anwendungstoleranz bei Verlusten der letzten Datenänderungen sowie alle betrieblichen Aspekte des Wiederherstellungsverfahrens zu überprüfen.
Sie können die folgenden Methoden verwenden, um eine Datenbank auf einem anderen Server wiederherzustellen: