Met Azure SQL Database kunt u een langetermijnretentiebeleid voor back-ups instellen (LTR) om back-ups automatisch te bewaren in afzonderlijke Azure Blob Storage-containers voor maximaal 10 jaar. U kunt vervolgens een database herstellen met behulp van deze back-ups met behulp van Azure Portal, Azure CLI of PowerShell.
Als u cli-referentieopdrachten liever lokaal uitvoert, installeert u de Azure CLI. Als u werkt met Windows of macOS, kunt u Overwegen Om Azure CLI uit te voeren in een Docker-container. Zie Azure CLI uitvoeren in een Docker-containervoor meer informatie.
Als u een lokale installatie gebruikt, meldt u zich aan bij de Azure CLI met behulp van de opdracht az login. Volg de stappen die worden weergegeven in uw terminal om het verificatieproces te voltooien. Zie Aanmelden met de Azure CLI-voor andere aanmeldingsopties.
Wanneer u hierom wordt gevraagd, installeert u de Azure CLI-extensie voor het eerste gebruik. Zie Extensies gebruiken met de Azure CLIvoor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Als u een upgrade wilt uitvoeren naar de nieuwste versie, voert u az upgradeuit.
Bereid uw omgeving voor op PowerShell.
Notitie
In dit artikel wordt de Azure Az PowerShell-module gebruikt. Dit is de aanbevolen PowerShell-module voor interactie met Azure. Zie Azure PowerShell-installeren om aan de slag te gaan met de Az PowerShell-module. Zie Azure PowerShell migreren van AzureRM naar Azvoor meer informatie over het migreren naar de Az PowerShell-module.
Belangrijk
De PowerShell Azure Resource Manager-module wordt nog steeds ondersteund door Azure SQL Database, maar alle toekomstige ontwikkeling is voor de Az.Sql-module. Zie AzureRM.Sqlvoor deze cmdlets. De argumenten voor de opdrachten in de Az-module en in de AzureRm-modules zijn aanzienlijk identiek.
Voor Get-AzSqlDatabaseLongTermRetentionBackup en Restore-AzSqlDatabasemoet u lid zijn van een van de volgende rollen:
De rol Bijdrager van SQL Server is niet gemachtigd om LTR-back-ups te verwijderen.
RBAC-machtigingen (op rollen gebaseerd toegangsbeheer) van Azure kunnen worden verleend op de schaal van het abonnement of de resourcegroep scope. Als u echter toegang wilt krijgen tot LTR-back-ups die deel uitmaken van een verwijderde server, moet deze machtiging worden verleend in het abonnement bereik van die server:
U kunt SQL Database zo configureren dat automatische back-ups gedurende een langere periode dan de bewaarperiode voor uw servicelaag behouden.
Navigeer in Azure Portal naar uw server en selecteer vervolgens Back-ups. Selecteer het tabblad Bewaarbeleid om de bewaarinstellingen voor back-ups te wijzigen.
Selecteer op het tabblad Bewaarbeleid de database(s) waarop u bewaarbeleid voor back-ups voor de lange termijn wilt instellen of wijzigen. Niet-geselecteerde databases worden niet beïnvloed.
Geef in het deelvenster Beleid configureren de gewenste bewaarperiode op voor wekelijkse, maandelijkse of jaarlijkse back-ups. Kies een bewaarperiode van '0' om aan te geven dat er geen langetermijnretentie van back-ups moet worden ingesteld.
Selecteer toepassen om de gekozen bewaarinstellingen toe te passen op alle geselecteerde databases.
Belangrijk
Wanneer u een langetermijnretentiebeleid voor back-ups inschakelt, kan het tot zeven dagen duren voordat de eerste back-up zichtbaar is en beschikbaar is om te herstellen. Zie langetermijnretentie van back-upsvoor meer informatie over het LTR-back-upritme.
Voer de az sql db ltr-policy set opdracht uit om een LTR-beleid te maken. In het volgende voorbeeld wordt een langetermijnretentiebeleid ingesteld voor 12 weken voor de wekelijkse back-up.
az sql db ltr-policy set \
--resource-group mygroup \
--server myserver \
--name mydb \
--weekly-retention "P12W"
In dit voorbeeld wordt een bewaarbeleid ingesteld voor 12 weken voor de wekelijkse back-up, 5 jaar voor de jaarlijkse back-up en de week van 15 april waarin de jaarlijkse LTR-back-up moet worden uitgevoerd.
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
Back-ups weergeven en terugzetten vanuit een back-up
Bekijk de back-ups die worden bewaard voor een specifieke database met een LTR-beleid en herstel vanuit deze back-ups.
Notitie
Als de logische server is verwijderd, gebruikt u Azure CLI- of PowerShell-opdrachten om LTR-back-ups weer te geven en te herstellen.
Navigeer in Azure Portal naar uw server en selecteer vervolgens Back-ups. Als u de beschikbare LTR-back-ups voor een specifieke database wilt weergeven, selecteert u Beheren onder de kolom Beschikbare LTR-back-ups. Er wordt een deelvenster weergegeven met een lijst met de beschikbare LTR-back-ups voor de geselecteerde database.
Controleer in het deelvenster Beschikbare LTR-back-ups dat wordt weergegeven de beschikbare back-ups. Selecteer een back-up waaruit u wilt herstellen.
Als u wilt herstellen vanuit een beschikbare LTR-back-up, selecteert u de back-up waaruit u wilt herstellen en selecteert u vervolgens Herstellen.
Kies een naam voor de nieuwe database en selecteer vervolgens Controleren en maken om de details van uw herstelbewerking te bekijken. Selecteer maken om uw database te herstellen vanuit de gekozen back-up.
Selecteer op de werkbalk het meldingspictogram om de status van de hersteltaak weer te geven.
Wanneer de hersteltaak is voltooid, opent u de pagina SQL-databases om de zojuist herstelde database weer te geven.
Voer de az sql db ltr-policy show opdracht uit om het LTR-beleid voor één database op uw server weer te geven.
az sql db ltr-policy show \
--resource-group mygroup \
--server myserver \
--name mydb
LTR-back-ups weergeven
Gebruik de az sql db ltr-backup list opdracht om de LTR-back-ups voor een database weer te geven. U kunt deze opdracht gebruiken om de parameter name te vinden voor gebruik in andere opdrachten.
az sql db ltr-backup list \
--location eastus2 \
--server myserver \
--database mydb
az sql db ltr-backup restore \
--dest-database targetdb \
--dest-server myserver \
--dest-resource-group mygroup \
--backup-id $get_backup_id
Belangrijk
Als u wilt herstellen vanuit een LTR-back-up nadat de server of resourcegroep is verwijderd, moet u machtigingen hebben die zijn gericht op het abonnement van de server en dat abonnement moet actief zijn. U moet ook de optionele -ResourceGroupName parameter weglaten.
Notitie
Hier kunt u verbinding maken met de herstelde database met behulp van SQL Server Management Studio om de benodigde taken uit te voeren, zoals het wisselen van databases. Zie tijdstip herstel.
LTR-beleid weergeven
In dit voorbeeld ziet u hoe u het LTR-beleid op een server weergeeft.
# 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
Een LTR-beleid wissen
In dit voorbeeld ziet u hoe u een LTR-beleid uit een database verwijdert.
In dit voorbeeld ziet u hoe u de LTR-back-ups binnen een server weergeeft.
# 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
Herstellen vanuit LTR-back-ups
In dit voorbeeld ziet u hoe u herstelt vanuit een LTR-back-up. Opmerking: deze interface is niet gewijzigd, maar de resource-id-parameter vereist nu de resource-id van de LTR-back-up.
# 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
Belangrijk
Als u wilt herstellen vanuit een LTR-back-up nadat de server of resourcegroep is verwijderd, moet u machtigingen hebben die zijn gericht op het abonnement van de server en dat abonnement moet actief zijn. U moet ook de optionele -ResourceGroupName parameter weglaten.
Als u LTR-back-ups gebruikt om te voldoen aan de naleving of andere bedrijfskritieke vereisten, kunt u periodieke herstelanalyses uitvoeren om te controleren of LTR-back-ups kunnen worden hersteld en dat de herstelbewerking resulteert in een verwachte databasestatus.
Notitie
Hier kunt u verbinding maken met de herstelde database met behulp van SQL Server Management Studio om de benodigde taken uit te voeren, zoals het extraheren van een beetje gegevens uit de herstelde database om naar de bestaande database te kopiëren of om de bestaande database te verwijderen en de naam van de herstelde database te wijzigen in de naam van de bestaande database. Zie punt-in-tijd herstel.
LTR-back-ups verwijderen
Verwijder back-ups die worden bewaard voor een specifieke database met een LTR-beleid.
Belangrijk
Het verwijderen van LTR-back-up is niet omkeerbaar. Als u een LTR-back-up wilt verwijderen nadat de server is verwijderd, moet u de machtiging Abonnementsbereik hebben. U kunt meldingen over elke verwijdering in Azure Monitor instellen door te filteren op bewerking 'Hiermee verwijdert u een back-up voor langetermijnretentie'. Het activiteitenlogboek bevat informatie over wie en wanneer de aanvraag is ingediend. Zie Maak waarschuwingen voor activiteitenlogboeken aan voor gedetailleerde instructies.
Navigeer in Azure Portal naar de logische server van de Azure SQL Database.
Selecteer back-ups. Als u de beschikbare LTR-back-ups voor een specifieke database wilt weergeven, selecteert u Beheren onder de kolom Beschikbare LTR-back-ups. Er wordt een deelvenster weergegeven met een lijst met de beschikbare LTR-back-ups voor de geselecteerde database.
Controleer in het deelvenster Beschikbare LTR-back-ups dat wordt weergegeven de beschikbare back-ups. Selecteer een back-up die u wilt verwijderen. Selecteer verwijderen.
Als u LTR-back-ups gebruikt om te voldoen aan naleving of andere bedrijfskritieke vereisten:
Controleer of de LTR-back-ups worden uitgevoerd volgens het geconfigureerde beleid door de stappen te volgen die worden beschreven in back-ups weergeven sectie met behulp van portal, Azure CLI of PowerShell.
Overweeg periodieke herstelanalyses uit te voeren om te controleren of het herstellen van LTR-back-ups resulteert in de verwachte databasestatus.
Verwante inhoud
Zie automatische back-ups voor meer informatie over door de service gegenereerde automatische back-ups