Met Azure SQL Database kunt u een langetermijnbeleid voor back-upretentie (LTR) instellen 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.
Installeer de Azure CLI, indien gewenst, om CLI-referentieopdrachten uit te voeren. Als u in Windows of macOS werkt, kunt u Azure CLI uitvoeren in een Docker-container. Zie De Azure CLI uitvoeren in een Docker-container voor meer informatie.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met behulp van de opdracht az login. Volg de stappen die worden weergegeven in de terminal, om het verificatieproces te voltooien. Raadpleeg Aanmelden bij Azure CLI voor aanvullende aanmeldingsopties.
Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Raadpleeg Extensies gebruiken met Azure CLI voor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Voer az upgrade uit om te upgraden naar de nieuwste versie.
Bereid uw omgeving voor op PowerShell.
Notitie
In dit artikel wordt gebruikgemaakt van de Azure Az PowerShell-module. Dit is de aanbevolen PowerShell-module voor interactie met Azure. Raadpleeg Azure PowerShell installeren om aan de slag te gaan met de Az PowerShell-module. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.
Belangrijk
De module PowerShell Azure Resource Manager wordt nog steeds ondersteund in Azure SQL Database, maar alle toekomstige ontwikkeling is voor de Az.Sql-module. Zie AzureRM.Sql voor deze cmdlets. De argumenten voor de opdrachten in de Az-module en in de AzureRm-modules zijn vrijwel identiek.
Restore-AzSqlDatabaseU Get-AzSqlDatabaseLongTermRetentionBackup moet lid zijn van een van de volgende rollen:
De rol INzender van SQL Server is niet gemachtigd om LTR-back-ups te verwijderen.
RBAC-machtigingen (op rollen gebaseerd toegangsbeheer) van Azure kunnen worden verleend in abonnements - of resourcegroepbereik . Als u echter toegang wilt krijgen tot LTR-back-ups die deel uitmaken van een verwijderde server, moet deze machtiging worden verleend in het abonnementsbereik van die server:
U kunt SQL Database zo configureren dat automatische back-ups langer dan de bewaarperiode voor uw servicelaag worden bewaard.
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-ups voor meer informatie over het LTR-back-upritme.
Voer de opdracht az sql db ltr-policy set 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.
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 Beoordelen 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.
az sql db ltr-policy show \
--resource-group mygroup \
--server myserver \
--name mydb
LTR-back-ups weergeven
Gebruik de opdracht az sql db ltr-backup list om de LTR-back-ups voor een database weer te geven. U kunt deze opdracht gebruiken om de name parameter 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 parameter -ResourceGroupName 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 herstel naar een bepaald tijdstip.
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 wist.
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 noodzakelijke taken uit te voeren, zoals een deel van de gegevens uit de herstelde database extraheren om naar de bestaande database te kopiëren, of de bestaande database verwijderen en de naam van de herstelde database wijzigen in de naam van de bestaande database. Zie herstel naar een bepaald tijdstip.
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 Waarschuwingen voor activiteitenlogboek maken 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 de sectie Back-ups weergeven met behulp van de 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.
Gerelateerde inhoud
Zie Automatic backups (Automatische back-ups) voor meer informatie over door de service gegenereerde automatische back-ups.
Zie Langetermijnretentie voor meer informatie over back-ups met langetermijnretentie.