In Azure SQL Managed Instance können Sie eine Richtlinie für die Langzeitsicherungsaufbewahrung konfigurieren. Dies ermöglicht es Ihnen, Datenbanksicherungen automatisch bis zu zehn Jahre in separaten Azure Blob Storage-Containern beizubehalten. Sie können dann mit dem Azure-Portal, der Azure CLI und PowerShell eine Datenbank anhand dieser Sicherungen wiederherstellen.
In den folgenden Abschnitten wird erläutert, wie Sie mithilfe des Azure-Portals, von PowerShell und der Azure-Befehlszeilenschnittstelle die Langzeitaufbewahrung von Sicherungen konfigurieren, Sicherungen in Azure SQL-Speicher anzeigen und eine Sicherung in Azure SQL-Speicher 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, jedoch erfolgen zukünftige Entwicklungen im 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-AzSqlInstanceDatabaseLongTermRetentionBackup und Restore-AzSqlInstanceDatabase, müssen Sie Mitglied einer der folgenden Rollen sein:
Rolle „Besitzer des Abonnements“ oder
Rolle „Mitwirkender“ für SQL Managed Instance oder
Benutzerdefinierte Rolle mit den folgenden Berechtigungen:
Die Rolle „Mitwirkender“ für SQL Managed Instance besitzt keine Berechtigung zum Löschen von LTR-Sicherungen.
Rollenbasierte Zugriffssteuerung (RBAC) in Azure kann entweder im Rahmen eines Abonnements oder einer Ressourcengruppe gewährt werden. Für den Zugriff auf LTR-Sicherungen, die zu einer gelöschten Instanz gehören, muss die Berechtigung jedoch im Bereich Abonnement dieser Instanz erteilt werden.
Erstellen von Richtlinien für die Langzeitaufbewahrung
Sie können SQL Managed Instance zur Aufbewahrung von automatisierten Sicherungen für einen längeren Zeitraum konfigurieren, als gemäß der Aufbewahrungsdauer für Ihre Dienstebene vorgesehen ist.
Wählen Sie im Azure-Portal Ihre verwaltete Instanz aus, und wählen Sie dann Sicherungen. Wählen Sie auf der Registerkarte Aufbewahrungsrichtlinien die Datenbank(en) aus, für die Sie Richtlinien für die langfristige Sicherungsaufbewahrung festlegen oder ändern möchten. Änderungen gelten nicht für Datenbanken, die nicht ausgewählt wurden.
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, wenn Sie fertig sind.
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 midb show aus, um Details zur SQL Managed Instance-Datenbank zu erhalten.
az sql midb show /
--resource-group mygroup /
--managed-instance myinstance /
--name mymanageddb /
--subscription mysubscription
Führen Sie den Befehl az sql midb 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 midb ltr-policy set /
--resource-group mygroup /
--managed-instance myinstance /
--name mymanageddb /
--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.
Führen Sie die folgenden Schritte aus, um verfügbare langfristige Sicherungen aus dem Azure-Portal anzuzeigen:
Wählen Sie im Azure-Portal Ihre verwaltete Instanz aus, und wählen Sie dann Sicherungen. Wählen Sie auf der Registerkarte Verfügbare Sicherungen die Datenbank aus, für die Sie verfügbare Sicherungen anzeigen möchten. Wählen Sie Verwalten aus.
Überprüfen Sie im Bereich Sicherungen verwalten die verfügbaren Sicherungen.
Sie können auch eine Wiederherstellung auf dieser Seite durchführen, indem Sie die Sicherung wählen und Wiederherstellen auswählen.
Alternativ können Sie die folgenden Schritte auswählen, um eine Sicherung aus der langfristigen Aufbewahrung mithilfe des Azure-Portals wiederherzustellen:
Wechseln Sie zu dem Ziel „SQL Managed Instance“, in dem Sie ihre Datenbank wiederherstellen möchten.
Wählen Sie auf der Seite Übersicht die Option + Neue Datenbank, um die Seite Azure SQL verwaltete Datenbank erstellen zu öffnen.
Geben Sie auf der Registerkarte Grundlagen der Seite Azure SQL verwaltete Datenbank erstellen unter Projektdetails die Details zum Abonnement und zur Ressourcengruppe an. Geben Sie dann unter Datenbankdetails den neuen Namen der Datenbank an, die Sie wiederherstellen möchten. Vergewissern Sie sich, dass die richtige verwaltete Instanz in der Dropdownliste aufgeführt ist. Wählen Sie dann Weiter: Datenquelle> aus.
Wählen Sie auf der Registerkarte Datenquelle unter Vorhandene Daten verwenden die Option Point-in-Time-Wiederherstellung aus. Geben Sie das Abonnement, die Ressourcengruppe und die verwaltete Instanz an, die die Quelldatenbank enthält. Wählen Sie in der Dropdownliste Verwaltete Datenbank die Datenbank aus, die Sie wiederherstellen möchten, und wählen Sie dann den Zeitpunkt aus, an dem Sie die Datenbank wiederherstellen möchten. Die Quell- und Zielinstanz können identisch oder zwei verschiedene Instanzen sein. Wählen Sie Weiter: Zusätzliche Einstellungen>aus.
Auf der Registerkarte Zusätzliche Einstellungen können Sie das Kontrollkästchen aktivieren, um die Aufbewahrungsrichtlinie aus der Quelldatenbank zu erben, oder alternativ können Sie Aufbewahrung konfigurieren auswählen, um die Seite Richtlinien konfigurieren zu öffnen und die gewünschten Aufbewahrungsrichtlinien für Ihre wiederhergestellte Datenbank festzulegen. Wenn Sie fertig sind, wählen Sie Überprüfen und erstellen aus.
Wählen Sie unter Überprüfen + erstellen die Option Erstellen aus, um Ihre Datenbank wiederherzustellen, wenn die Überprüfung erfolgreich ist.
Daraufhin wird der Wiederherstellungsprozess gestartet. Hierbei wird eine neue Datenbank erstellt und mit Daten aus der ursprünglichen Datenbank zum angegebenen Zeitpunkt aufgefüllt. Weitere Informationen zum Wiederherstellungsprozess finden Sie unter Wiederherstellungszeit.
Um die Wiederherstellung aus einer LTR-Sicherung nach dem Löschen der Instanz durchführen zu können, müssen Sie über Berechtigungen im Bereich des Abonnements der Instanz verfügen, und dieses Abonnement muss aktiv sein.
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.
Anzeigen von LTR-Richtlinien
In diesem Beispiel wird gezeigt, wie Sie die LTR-Richtlinien in einer Instanz für eine Einzeldatenbank auflisten.
# gets the current version of LTR policy for a database
$LTRPolicy = @{
InstanceName = $instanceName
DatabaseName = $dbName
ResourceGroupName = $resourceGroup
}
Get-AzSqlInstanceDatabaseBackupLongTermRetentionPolicy @LTRPolicy
In diesem Beispiel wird gezeigt, wie Sie die LTR-Richtlinien für alle Datenbanken in einer Instanz auflisten.
# gets the current version of LTR policy for all of the databases on an instance
$Databases = Get-AzSqlInstanceDatabase -ResourceGroupName $resourceGroup -InstanceName $instanceName
$LTRParams = @{
InstanceName = $instanceName
ResourceGroupName = $resourceGroup
}
foreach($database in $Databases.Name){
Get-AzSqlInstanceDatabaseBackupLongTermRetentionPolicy @LTRParams -DatabaseName $database
}
Löschen einer LTR-Richtlinie
In diesem Beispiel wird gezeigt, wie Sie eine LTR-Richtlinie aus einer Datenbank löschen.
# remove the LTR policy from a database
$LTRPolicy = @{
InstanceName = $instanceName
DatabaseName = $dbName
ResourceGroupName = $resourceGroup
RemovePolicy = $true
}
Set-AzSqlInstanceDatabaseBackupLongTermRetentionPolicy @LTRPolicy
Anzeigen von LTR-Sicherungen
In diesem Beispiel wird gezeigt, wie Sie die LTR-Sicherungen in einer Instanz auflisten.
$instance = Get-AzSqlInstance -Name $instanceName -ResourceGroupName $resourceGroup
# 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
Get-AzSqlInstanceDatabaseLongTermRetentionBackup -Location $instance.Location
# get the list of LTR backups from the Azure region under the given managed instance
$LTRBackupParam = @{
Location = $instance.Location
InstanceName = $instanceName
}
Get-AzSqlInstanceDatabaseLongTermRetentionBackup @LTRBackupParam
# get the LTR backups for a specific database from the Azure region under the given managed instance
$LTRBackupParam = @{
Location = $instance.Location
InstanceName = $instanceName
DatabaseName = $dbName
}
Get-AzSqlInstanceDatabaseLongTermRetentionBackup @LTRBackupParam
# list LTR backups only from live databases (you have option to choose All/Live/Deleted)
$LTRBackupParam = @{
Location = $instance.Location
DatabaseState = 'Live'
}
Get-AzSqlInstanceDatabaseLongTermRetentionBackup @LTRBackupParam
# only list the latest LTR backup for each database
$LTRBackupParam = @{
Location = $instance.Location
InstanceName = $instanceName
OnlyLatestPerDatabase = $true
}
Get-AzSqlInstanceDatabaseLongTermRetentionBackup @LTRBackupParam
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 instance $instanceName of the resource group $resourceGroup
$LTRBackupParam = @{
Location = $instance.Location
InstanceName = $instanceName
DatabaseName = $dbname
OnlyLatestPerDatabase = $true
}
$ltrBackup = Get-AzSqlInstanceDatabaseLongTermRetentionBackup @LTRBackupParam
$RestoreLTRParam = @{
TargetInstanceName = $instanceName
TargetResourceGroupName = $resourceGroup
TargetInstanceDatabaseName = $dbName
FromLongTermRetentionBackup = $true
ResourceId = $ltrBackup.ResourceId
}
Restore-AzSqlInstanceDatabase @RestoreLTRParam
Wichtig
Um die Wiederherstellung aus einer LTR-Sicherung nach dem Löschen der Instanz durchführen zu können, müssen Sie über Berechtigungen im Bereich des Abonnements der Instanz verfügen, und dieses Abonnement muss aktiv sein. Sie müssen außerdem den optionalen Parameter -ResourceGroupName auslassen.
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 die Instanz 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 zur SQL Managed Instance.
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.
Dieses Beispiel zeigt, wie die früheste LTR-Sicherung aus der Liste der Sicherungen gelöscht wird. Dieses Beispiel ruft die Liste der LTR-Sicherungen für eine bestimmte Datenbank aus der Azure-Region unter der angegebenen SQL Managed Instance-Instanz ab.
# remove the earliest backup
# get the LTR backups for a specific database from the Azure region under the given SQL managed instance
$LTRBackupParam = @{
Location = $instance.Location
InstanceName = $instanceName
DatabaseName = $dbName
}
$ltrBackups = Get-AzSqlInstanceDatabaseLongTermRetentionBackup @LTRBackupParam
$ltrBackup = $ltrBackups[0]
Remove-AzSqlInstanceDatabaseLongTermRetentionBackup -ResourceId $ltrBackup.ResourceId
Begrenzungen
Datenbanksicherungen aus Instanzen, die mit der SQL Server 2022-Updaterichtlinie konfiguriert sind, können in Instanzen wiederhergestellt werden, die entweder mit der SQL Server 2022- oder der Always-up-to-date-Updaterichtlinie konfiguriert sind. Datenbanksicherungen aus Instanzen, die mit der Always-up-to-date-Updaterichtlinie konfiguriert sind, können nur in Instanzen wiederhergestellt werden, die auch mit der Always-up-to-date-Updaterichtlinie konfiguriert sind.
Nächste Schritte
Weitere Informationen zu vom Dienst generierten automatischen Sicherungen finden Sie unter automatische Sicherungen.