In Azure SQL Managed Instance kunt u een langetermijnretentiebeleid voor back-ups (LTR) configureren. Hierdoor kunt u databaseback-ups automatisch bewaren in afzonderlijke Azure Blob Storage-containers voor maximaal 10 jaar. Vervolgens kunt u een database herstellen met behulp van deze back-ups met Azure Portal en PowerShell.
In de volgende secties ziet u hoe u Azure Portal, PowerShell en Azure CLI kunt gebruiken om de langetermijnretentie van back-ups te configureren, back-ups weer te geven in Azure SQL-opslag en te herstellen vanuit een back-up in Azure SQL Storage.
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 PowerShell Azure Resource Manager-module wordt nog steeds ondersteund door Azure SQL Database, maar toekomstige ontwikkeling wordt uitgevoerd in 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-AzSqlInstanceDatabaseU Get-AzSqlInstanceDatabaseLongTermRetentionBackup moet lid zijn van een van de volgende rollen:
De rol Inzender voor SQL Managed Instance is niet gemachtigd om LTR-back-ups te verwijderen.
RBAC-machtigingen (op rollen gebaseerd toegangsbeheer) van Azure kunnen worden verleend in abonnements - of resourcegroepbereik . Voor toegang tot LTR-back-ups die bij een verwijderd exemplaar horen, moet echter de machtiging worden toegewezen in het abonnementsbereik van dat exemplaar.
Selecteer uw beheerde exemplaar in Azure Portal en selecteer vervolgens Back-ups. Selecteer op het tabblad Bewaarbeleid de database(s) waarop u bewaarbeleid voor back-ups voor de lange termijn wilt instellen of wijzigen. Wijzigingen zijn niet van toepassing op databases die niet zijn geselecteerd.
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.
Wanneer u klaar bent, selecteert u Toepassen.
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.
az sql midb show /
--resource-group mygroup /
--managed-instance myinstance /
--name mymanageddb /
--subscription mysubscription
Voer de opdracht az sql midb 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 midb ltr-policy set /
--resource-group mygroup /
--managed-instance myinstance /
--name mymanageddb /
--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.
Als u beschikbare langetermijnback-ups wilt weergeven vanuit Azure Portal, voert u de volgende stappen uit:
Selecteer uw beheerde exemplaar in Azure Portal en selecteer vervolgens Back-ups. Selecteer op het tabblad Beschikbare back-ups de database waarvoor u beschikbare back-ups wilt zien. Selecteer Beheren.
Controleer in het deelvenster Back-ups beheren de beschikbare back-ups .
U kunt deze pagina ook herstellen door de back-up te kiezen en Herstellen te selecteren.
Als u een back-up wilt herstellen vanuit langetermijnretentie met behulp van Azure Portal, voert u de volgende stappen uit:
Ga naar het doel-SQL Managed Instance waarnaar u de database wilt herstellen.
Kies + Nieuwe database op de pagina Overzicht om de pagina Azure SQL Managed Database maken te openen.
Geef op het tabblad Basisbeginselen van de pagina Azure SQL Managed Database maken abonnements- en resourcegroepgegevens op onder Projectdetails. Geef vervolgens onder Databasegegevens de nieuwe naam op van de database die u wilt herstellen. Controleer of het juiste beheerde exemplaar wordt weergegeven in de vervolgkeuzelijst. Selecteer vervolgens Volgende: Gegevensbron >
Kies op het tabblad Gegevensbron de optie Herstel naar een bepaald tijdstip onder Bestaande gegevens gebruiken. Geef het abonnement, de resourcegroep en het beheerde exemplaar op dat de brondatabase bevat. Kies in de vervolgkeuzelijst Beheerde database de database die u wilt herstellen en kies vervolgens het tijdstip waaruit u de database wilt herstellen. Het bron- en doelexemplaren kunnen hetzelfde zijn of twee verschillende exemplaren. Selecteer Volgende: Aanvullende instellingen >
Op het tabblad Aanvullende instellingen kunt u het selectievakje inschakelen om het bewaarbeleid van de brondatabase over te nemen. U kunt ook retentie configureren selecteren om de pagina Beleid configureren te openen en het gewenste bewaarbeleid voor de herstelde database in te stellen. Wanneer u klaar bent, selecteert u Beoordelen en maken.
Wanneer de validatie is geslaagd, selecteert u Bij Controleren en maken de optie Maken om uw database te herstellen.
Met deze actie wordt het herstelproces gestart, waarmee een nieuwe database wordt gemaakt en gevuld met gegevens uit de oorspronkelijke database op het opgegeven tijdstip. Zie Hersteltijd voor meer informatie over het herstelproces.
Als u wilt herstellen vanuit een LTR-back-up nadat het exemplaar is verwijderd, moet u machtigingen hebben voor het abonnement van het exemplaar en dat abonnement moet actief zijn.
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-beleid weergeven
In dit voorbeeld ziet u hoe u het LTR-beleid in een exemplaar voor één database weergeeft.
# gets the current version of LTR policy for a database
$LTRPolicy = @{
InstanceName = $instanceName
DatabaseName = $dbName
ResourceGroupName = $resourceGroup
}
Get-AzSqlInstanceDatabaseBackupLongTermRetentionPolicy @LTRPolicy
In dit voorbeeld ziet u hoe u het LTR-beleid voor alle databases op een exemplaar weergeeft.
# 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
}
Een LTR-beleid wissen
In dit voorbeeld ziet u hoe u een LTR-beleid uit een database wist.
# remove the LTR policy from a database
$LTRPolicy = @{
InstanceName = $instanceName
DatabaseName = $dbName
ResourceGroupName = $resourceGroup
RemovePolicy = $true
}
Set-AzSqlInstanceDatabaseBackupLongTermRetentionPolicy @LTRPolicy
LTR-back-ups weergeven
In dit voorbeeld ziet u hoe u de LTR-back-ups binnen een exemplaar weergeeft.
$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
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 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
Belangrijk
Als u wilt herstellen vanuit een LTR-back-up nadat het exemplaar is verwijderd, moet u machtigingen hebben voor het abonnement van het exemplaar 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 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 het exemplaar 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 het beheerde SQL-exemplaar.
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.
In dit voorbeeld ziet u hoe u de vroegste LTR-back-up verwijdert uit de lijst met back-ups. In dit voorbeeld wordt de lijst met LTR-back-ups voor een specifieke database opgehaald uit de Azure-regio onder het opgegeven met SQL beheerde exemplaar.
# 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
Volgende stappen
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.