In Azure SQL-Datenbank können Sie eine Richtlinie für die Langzeitaufbewahrung von Sicherungen (Long-Term Retention, LTR) festlegen, um die Sicherungen automatisch in separaten Azure Blob Storage-Containern bis zu 10 Jahre lang aufzubewahren. Sie können dann mit dem Azure-Portal, der Azure CLI oder PowerShell eine Datenbank anhand dieser Sicherungen wiederherstellen.
Wenn Sie CLI-Referenzbefehle lieber lokal ausführen, installieren Sie die Azure CLI. Wenn Sie Windows oder macOS ausführen, sollten Sie die Azure CLI in einem Docker-Container ausführen. Weitere Informationen finden Sie unter Ausführen der Azure CLI in einem Docker-Container.
Wenn Sie eine lokale Installation verwenden, melden Sie sich mithilfe des Befehls az login bei der Azure CLI an. Führen Sie die in Ihrem Terminal angezeigten Schritte aus, um den Authentifizierungsprozess abzuschließen. Informationen zu anderen Anmeldeoptionen finden Sie unter Anmelden mit der Azure CLI.
Installieren Sie die Azure CLI-Erweiterung beim ersten Einsatz, wenn Sie dazu aufgefordert werden. Weitere Informationen zu Erweiterungen finden Sie unter Verwenden von Erweiterungen mit der Azure CLI.
Führen Sie az version aus, um die installierte Version und die abhängigen Bibliotheken zu ermitteln. Führen Sie az upgrade aus, um das Upgrade auf die aktuelle Version durchzuführen.
Bereiten Sie die Umgebung für PowerShell vor.
Hinweis
In diesem Artikel wird das Azure Az PowerShell-Modul verwendet. Dieses PowerShell-Modul wird für die Interaktion mit Azure empfohlen. Informationen zu den ersten Schritten mit dem Az PowerShell-Modul finden Sie unter Installieren von Azure PowerShell. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zum Az-Modul.
Wichtig
Das PowerShell Azure Resource Manager-Modul wird von Azure SQL-Datenbank weiterhin unterstützt, aber alle zukünftigen Entwicklungen erfolgen für das Az.Sql-Modul. Informationen zu diesen Cmdlets finden Sie unter AzureRM.Sql. Die Argumente für die Befehle im Az-Modul und den AzureRm-Modulen sind im Wesentlichen identisch.
Für Get-AzSqlDatabaseLongTermRetentionBackup und Restore-AzSqlDatabase, müssen Sie Mitglied einer der folgenden Rollen sein:
Rolle „Besitzer des Abonnements“ oder
Rolle „Abonnementmitwirkender“ oder
Rolle „Mitwirkender von SQL Server“ oder
Benutzerdefinierte Rolle mit den folgenden Berechtigungen:
Die Rolle „Mitwirkender von SQL Server“ besitzt keine Berechtigung zum Löschen von LTR-Sicherungen.
Azure-Berechtigungen für die rollenbasierte Zugriffssteuerung (RBAC) können im Bereich Abonnement oder Ressourcengruppe erteilt werden. Für den Zugriff auf LTR-Sicherungen, die zu einem gelöschten Server gehören, muss diese Berechtigung jedoch im Bereich Abonnement dieses Servers erteilt werden:
Navigieren Sie im Azure-Portal zu Ihrem Server, und wählen Sie Sicherungen aus. Wählen Sie die Registerkarte Aufbewahrungsrichtlinien aus, um Ihre Einstellungen für die Sicherungsaufbewahrung zu ändern.
Wählen Sie auf der Registerkarte „Aufbewahrungsrichtlinien“ die Datenbank(en) aus, für die Sie Richtlinien für die Langzeitaufbewahrung von Sicherungen festlegen oder ändern möchten. Nicht ausgewählte Datenbanken sind nicht betroffen.
Geben Sie im Bereich Richtlinien konfigurieren den gewünschten Aufbewahrungszeitraum für wöchentliche, monatliche oder jährliche Sicherungen an. Wählen Sie den Aufbewahrungszeitraum „0“ aus, um anzugeben, dass keine Langzeitaufbewahrung von Sicherungen festgelegt werden soll.
Wählen Sie Anwenden aus, um die ausgewählten Datenaufbewahrungseinstellungen auf alle ausgewählten Datenbanken anzuwenden.
Wichtig
Wenn Sie eine Richtlinie für die Langzeitaufbewahrung von Sicherungen aktivieren, kann es bis zu 7 Tage dauern, bevor die erste Sicherung angezeigt wird und wiederhergestellt werden kann. Weitere Informationen dazu, in welchen Intervallen Sicherungskopien für die Langzeitaufbewahrung erstellt werden, finden Sie unter Langzeitaufbewahrung von Sicherungen.
Führen Sie den Befehl az sql db ltr-policy set aus, um eine LTR-Richtlinie zu erstellen. Im folgenden Beispiel wird eine Richtlinie für die Langzeitaufbewahrung für die wöchentliche Sicherung über 12 Wochen definiert.
az sql db ltr-policy set \
--resource-group mygroup \
--server myserver \
--name mydb \
--weekly-retention "P12W"
In diesem Beispiel wird eine Aufbewahrungsrichtlinie für 12 Wochen für die wöchentliche Sicherung, für 5 Jahre für die jährliche Sicherung und für die Woche ab dem 15. April erstellt, in der die jährliche LTR-Sicherung erstellt werden soll.
az sql db ltr-policy set \
--resource-group mygroup \
--server myserver \
--name mydb \
--weekly-retention "P12W" \
--yearly-retention "P5Y" \
--week-of-year 16
# get the SQL server
$subId = "<subscriptionId>"
$serverName = "<serverName>"
$resourceGroup = "<resourceGroupName>"
$dbName = "<databaseName>"
Connect-AzAccount
Select-AzSubscription -SubscriptionId $subId
$server = Get-AzSqlServer -ServerName $serverName -ResourceGroupName $resourceGroup
# create LTR policy with WeeklyRetention = 12 weeks. MonthlyRetention and YearlyRetention = 0 by default.
Set-AzSqlDatabaseBackupLongTermRetentionPolicy -ServerName $serverName -DatabaseName $dbName `
-ResourceGroupName $resourceGroup -WeeklyRetention P12W
# create LTR policy with WeeklyRetention = 12 weeks, YearlyRetention = 5 years and WeekOfYear = 16 (week of April 15). MonthlyRetention = 0 by default.
Set-AzSqlDatabaseBackupLongTermRetentionPolicy -ServerName $serverName -DatabaseName $dbName `
-ResourceGroupName $resourceGroup -WeeklyRetention P12W -YearlyRetention P5Y -WeekOfYear 16
Anzeigen von Sicherungen und Wiederherstellen einer Sicherung
Zeigen Sie die Sicherungen an, die für eine bestimmte Datenbank mit einer LTR-Richtlinie aufbewahrt werden, und führen Sie die Wiederherstellung aus diesen Sicherungen aus.
Navigieren Sie im Azure-Portal zu Ihrem Server, und wählen Sie Sicherungen aus. Um die verfügbaren LTR-Sicherungen für eine bestimmte Datenbank anzuzeigen, wählen Sie in der Spalte Verfügbare LTR-Sicherungen die Option Verwalten aus. Ein Bereich mit einer Liste der verfügbaren LTR-Sicherungen für die ausgewählte Datenbank wird angezeigt.
Überprüfen Sie im Bereich Verfügbare LTR-Sicherungen die verfügbaren Sicherungen. Wählen Sie eine Sicherung für die Wiederherstellung aus.
Wählen Sie zum Wiederherstellen aus einer verfügbaren LTR-Sicherung die Sicherung, die Sie zum Wiederherstellen nutzen möchten, und dann Wiederherstellen aus.
Wählen Sie einen Namen für die neue Datenbank und dann Überprüfen + erstellen aus, um die Details Ihrer Wiederherstellung anzuzeigen. Wählen Sie Erstellen aus, um die Datenbank aus der ausgewählten Sicherung wiederherzustellen.
Wählen Sie auf der Symbolleiste das Benachrichtigungssymbol aus, um den Status des Wiederherstellungsauftrags anzuzeigen.
Öffnen Sie nach Abschluss des Wiederherstellungsauftrags die Seite SQL-Datenbanken, um die neu wiederhergestellte Datenbank anzuzeigen.
Führen Sie den Befehl az sql db ltr-policy show aus, um die LTR-Richtlinie für eine einzelne Datenbank auf Ihrem Server anzuzeigen.
az sql db ltr-policy show \
--resource-group mygroup \
--server myserver \
--name mydb
Anzeigen von LTR-Sicherungen
Verwenden Sie den Befehl az sql db ltr-backup list, um die LTR-Sicherungen für eine Datenbank aufzulisten. Mit diesem Befehl können Sie den Parameter name zur Verwendung in anderen Befehlen suchen.
az sql db ltr-backup list \
--location eastus2 \
--server myserver \
--database mydb
Stellen Sie Ihre Datenbank aus der LTR-Sicherung wieder her.
az sql db ltr-backup restore \
--dest-database targetdb \
--dest-server myserver \
--dest-resource-group mygroup \
--backup-id $get_backup_id
Wichtig
Sie müssen über Berechtigungen im Bereich des Abonnements des Servers verfügen, und dieses Abonnement muss aktiv sein, um die Wiederherstellung aus einer LTR-Sicherung nach dem Löschen des Servers oder der Ressourcengruppe durchführen zu können. Sie müssen außerdem den optionalen Parameter -ResourceGroupName auslassen.
Hinweis
Von hier aus können Sie mit SQL Server Management Studio eine Verbindung mit der wiederhergestellten Datenbank herstellen, um erforderliche Aufgaben durchzuführen, z. B. den Datenbankaustausch. Siehe Point-in-Time-Wiederherstellung.
Anzeigen von LTR-Richtlinien
In diesem Beispiel wird gezeigt, wie Sie die LTR-Richtlinien auf einem Server auflisten.
# get all LTR policies within a server
$ltrPolicies = Get-AzSqlDatabase -ResourceGroupName $resourceGroup -ServerName $serverName | `
Get-AzSqlDatabaseLongTermRetentionPolicy
# get the LTR policy of a specific database
$ltrPolicies = Get-AzSqlDatabaseBackupLongTermRetentionPolicy -ServerName $serverName -DatabaseName $dbName `
-ResourceGroupName $resourceGroup
Löschen einer LTR-Richtlinie
In diesem Beispiel wird gezeigt, wie Sie eine LTR-Richtlinie aus einer Datenbank löschen.
Dieses Beispiel zeigt, wie Sie die LTR-Sicherungen auf einem Server auflisten.
# get the list of all LTR backups in a specific Azure region
# backups are grouped by the logical database id, within each group they are ordered by the timestamp, the earliest backup first
$ltrBackups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $server.Location
# get the list of LTR backups from the Azure region under the named server
$ltrBackups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $server.Location -ServerName $serverName
# get the LTR backups for a specific database from the Azure region under the named server
$ltrBackups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $server.Location -ServerName $serverName -DatabaseName $dbName
# list LTR backups only from live databases (you have option to choose All/Live/Deleted)
$ltrBackups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $server.Location -DatabaseState Live
# only list the latest LTR backup for each database
$ltrBackups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $server.Location -ServerName $serverName -OnlyLatestPerDatabase
Wiederherstellen von LTR-Sicherungen
Dieses Beispiel zeigt, wie Sie eine LTR-Sicherung wiederherstellen. Beachten Sie, dass sich diese Schnittstelle nicht geändert hat, der Parameter für die Ressourcen-ID jetzt jedoch die Ressourcen-ID der LTR-Sicherung erfordert.
# restore a specific LTR backup as an P1 database on the server $serverName of the resource group $resourceGroup
Restore-AzSqlDatabase -FromLongTermRetentionBackup -ResourceId $ltrBackup.ResourceId -ServerName $serverName -ResourceGroupName $resourceGroup `
-TargetDatabaseName $dbName -ServiceObjectiveName P1
Wichtig
Sie müssen über Berechtigungen im Bereich des Abonnements des Servers verfügen, und dieses Abonnement muss aktiv sein, um die Wiederherstellung aus einer LTR-Sicherung nach dem Löschen des Servers oder der Ressourcengruppe durchführen zu können. Sie müssen außerdem den optionalen Parameter -ResourceGroupName weglassen.
Wenn Sie LTR-Sicherungen verwenden, um Compliance- oder andere unternehmenskritische Anforderungen zu erfüllen, sollten Sie regelmäßige Wiederherstellungs-Drills durchführen, um zu überprüfen, ob LTR-Sicherungen wiederhergestellt werden können und ob die Wiederherstellung zu einem erwarteten Datenbankzustand führt.
Hinweis
Auf diesem Blatt können Sie mithilfe von SQL Server Management Studio eine Verbindung mit der wiederhergestellten Datenbank herstellen, um erforderliche Aufgaben durchzuführen. Sie können beispielsweise einen Teil der Daten aus der wiederhergestellten Datenbank extrahieren und in die vorhandene Datenbank kopieren oder die vorhandene Datenbank löschen und die wiederhergestellte Datenbank in den vorhandenen Datenbanknamen umbenennen. Siehe Point-in-Time-Wiederherstellung.
Löschen von LTR-Sicherungen
Löschen Sie Sicherungen, die für eine bestimmte Datenbank mit einer LTR-Richtlinie aufbewahrt werden.
Wichtig
Das Löschen der LTR-Sicherung kann nicht rückgängig gemacht werden. Wenn Sie eine LTR-Sicherung löschen möchten, nachdem der Server gelöscht wurde, müssen Sie über die Berechtigung im Bereich „Abonnement“ verfügen. Sie können Benachrichtigungen zu jedem Löschvorgang in Azure Monitor einrichten, indem Sie nach dem Vorgang „Löscht eine Sicherung zur langfristigen Aufbewahrung“ filtern. Das Aktivitätsprotokoll enthält Informationen dazu, wer die Anforderung vorgenommen hat und wann sie erfolgt ist. Ausführliche Anweisungen finden Sie unter Erstellen von Aktivitätsprotokollwarnungen.
Navigieren Sie im Azure-Portal zum logischen Server der Azure SQL-Datenbank.
Wählen Sie Sicherungen aus. Um die verfügbaren LTR-Sicherungen für eine bestimmte Datenbank anzuzeigen, wählen Sie in der Spalte „Verfügbare LTR-Sicherungen“ die Option Verwalten aus. Ein Bereich mit einer Liste der verfügbaren LTR-Sicherungen für die ausgewählte Datenbank wird angezeigt.
Überprüfen Sie im Bereich Verfügbare LTR-Sicherungen die verfügbaren Sicherungen. Wählen Sie eine zu löschende Sicherung aus. Klicken Sie auf Löschen.
Wenn Sie LTR-Sicherungen verwenden, um Complianceanforderungen oder andere unternehmenskritische Anforderungen zu erfüllen:
Überprüfen Sie, ob die LTR-Sicherungen gemäß der konfigurierten Richtlinie ausgeführt werden, indem Sie entweder über das Portal, die Azure CLI oder PowerShell die Schritte ausführen, die im Abschnitt Sicherungen anzeigen beschrieben sind.
Erwägen Sie, regelmäßige Wiederherstellungsdrills durchzuführen, um zu überprüfen, ob die Wiederherstellung von LTR-Sicherungen zum erwarteten Datenbankzustand führt.
Zugehöriger Inhalt
Weitere Informationen zu vom Dienst generierten automatischen Sicherungen finden Sie im Artikel zu automatischen Sicherungen.