van toepassing op:
Azure SQL Database-
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.
Voorwaarden
Een actief Azure-abonnement.
Bereid uw omgeving voor op de Azure CLI.
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-AzSqlDatabase
moet u lid zijn van een van de volgende rollen:
De rol van abonnementseigenaar of
Rol Abonnementmedewerker of
Rol SQL Server-bijdrager of
Aangepaste rol met de volgende machtigingen:
Microsoft.Sql/locations/longTermRetentionBackups/read
Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionBackups/read
Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups/read
Voor Remove-AzSqlDatabaseLongTermRetentionBackup
moet u lid zijn van een van de volgende rollen:
Rol abonnementseigenaar of
Rol Abonnementmedewerker of
Aangepaste rol met de volgende machtiging:
Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups/delete
Machtigingen
Als u LTR-back-ups wilt weergeven en herstellen, hebt u het volgende nodig:
Rol abonnementseigenaar of
Abonnementsbijdrager-rol of
Rol SQL Server-bijdrager of
Aangepaste rol met de volgende machtigingen:
Microsoft.Sql/locations/longTermRetentionBackups/read
Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionBackups/read
Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups/read
Als u LTR-back-ups wilt verwijderen, moet u lid zijn van een van de volgende rollen:
Rol abonnementseigenaar of
Rol als abonnement deelnemer of
Aangepaste rol met de volgende machtiging:
Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups/delete
Notitie
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:
Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups/delete
Beleid voor langetermijnretentie maken
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.
LTR-beleid weergeven
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
Herstellen vanuit LTR-back-ups
Voer de az sql db ltr-backup restore opdracht uit om uw database te herstellen vanuit een LTR-back-up. U kunt az sql db ltr-backup show uitvoeren om backup-id
op te halen.
Maak een variabele voor de backup-id
met de opdracht az sql db ltr-backup show voor toekomstig gebruik.
get_backup_id=$(az sql db ltr-backup show
--location eastus2 \
--server myserver \
--database mydb \
--name "3214b3fb-fba9-43e7-96a3-09e35ffcb336;132292152080000000" \
--query 'id' \
--output tsv)
Herstel de database vanuit de LTR-back-up.
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.
Set-AzSqlDatabaseBackupLongTermRetentionPolicy -ServerName $serverName -DatabaseName $dbName `
-ResourceGroupName $resourceGroup -RemovePolicy
LTR-back-ups weergeven
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.
- Gebruik az sql db ltr-backup list om de back-up
name
te vinden.
- Voer de az sql db ltr-backup delete opdracht uit om een LTR-back-up te verwijderen.
az sql db ltr-backup delete \
--location eastus2 \
--server myserver \
--database mydb \
--name "3214b3fb-fba9-43e7-96a3-09e35ffcb336;132292152080000000"
In dit voorbeeld ziet u hoe u een LTR-back-up verwijdert uit de lijst met back-ups.
- Identificeer back-ups met en bekijk LTR-back-ups.
- Gebruik
Remove-AzSqlDatabaseLongTermRetentionBackup
om een back-up te verwijderen.
# remove the earliest backup
$ltrBackup = $ltrBackups[0]
Remove-AzSqlDatabaseLongTermRetentionBackup -ResourceId $ltrBackup.ResourceId
Beste praktijken
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