Van toepassing op:
Azure SQL Managed Instance
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.
Vereisten
Een actief Azure-abonnement.
Bereid uw omgeving voor op Azure CLI.
Bereid uw omgeving voor op PowerShell.
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-AzSqlInstanceDatabase
U Get-AzSqlInstanceDatabaseLongTermRetentionBackup
moet lid zijn van een van de volgende rollen:
- Rol abonnementseigenaar of
- Rol inzender voor SQL Managed Instance of
- Aangepaste rol met de volgende machtigingen:
Microsoft.Sql/locations/longTermRetentionManagedInstanceBackups/read
Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionManagedInstanceBackups/read
Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups/read
U Remove-AzSqlInstanceDatabaseLongTermRetentionBackup
moet lid zijn van een van de volgende rollen:
- Rol abonnementseigenaar of
- Aangepaste rol met de volgende machtiging:
Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups/delete
Bevoegdheden
Als u LTR-back-ups wilt weergeven en herstellen, moet u lid zijn van de volgende rollen:
- Rol abonnementseigenaar of
- Rol inzender voor SQL Managed Instance of
- Aangepaste rol met de volgende machtigingen:
Microsoft.Sql/locations/longTermRetentionManagedInstanceBackups/read
Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionManagedInstanceBackups/read
Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups/read
Als u LTR-back-ups wilt verwijderen, moet u lid zijn van een van de volgende rollen:
- Rol abonnementseigenaar of
- Aangepaste rol met de volgende machtiging:
Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups/delete
Notitie
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.
Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups/delete
Beleid voor langetermijnretentie maken
U kunt SQL Managed Instance zo configureren dat automatische back-ups langer dan de bewaarperiode voor uw servicelaag worden bewaard.
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.
Voer de opdracht az sql midb show uit om de details voor de SQL Managed Instance-database op te halen.
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.
az sql midb ltr-policy set /
--resource-group mygroup /
--managed-instance myinstance /
--name mymanageddb /
--weekly-retention "P12W" /
--yearly-retention "P5Y" /
--week-of-year 16
# get the Managed Instance
$subId = "<subscriptionId>"
$instanceName = "<instanceName>"
$resourceGroup = "<resourceGroupName>"
$dbName = "<databaseName>"
Connect-AzAccount
Select-AzSubscription -SubscriptionId $subId
$instance = Get-AzSqlInstance -Name $instanceName -ResourceGroupName $resourceGroup
# create LTR policy with WeeklyRetention = 12 weeks. MonthlyRetention and YearlyRetention = 0 by default.
$LTRPolicy = @{
InstanceName = $instanceName
DatabaseName = $dbName
ResourceGroupName = $resourceGroup
WeeklyRetention = 'P12W'
}
Set-AzSqlInstanceDatabaseBackupLongTermRetentionPolicy @LTRPolicy
# create LTR policy with WeeklyRetention = 12 weeks, YearlyRetention = 5 years and WeekOfYear = 16 (week of April 15). MonthlyRetention = 0 by default.
$LTRPolicy = @{
InstanceName = $instanceName
DatabaseName = $dbName
ResourceGroupName = $resourceGroup
WeeklyRetention = 'P12W'
YearlyRetention = 'P5Y'
WeekOfYear = '16'
}
Set-AzSqlInstanceDatabaseBackupLongTermRetentionPolicy @LTRPolicy
Back-ups weergeven en terugzetten vanuit een back-up
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:
Meld u aan bij de Azure-portal.
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.
LTR-beleid weergeven
Voer de opdracht az sql midb ltr-policy show uit om het LTR-beleid voor één database binnen een exemplaar weer te geven.
az sql midb ltr-policy show \
--resource-group mygroup \
--managed-instance myinstance \
--name mymanageddb
LTR-back-ups weergeven
Gebruik de opdracht az sql midb ltr-backup list om de LTR-back-ups binnen een exemplaar weer te geven.
az sql midb ltr-backup list \
--resource-group mygroup \
--location eastus2 \
--managed-instance myinstance
Herstellen vanuit LTR-back-ups
Voer de opdracht az sql midb ltr-backup restore uit om uw database te herstellen vanuit een LTR-back-up. U kunt az sql midb ltr-backup show uitvoeren om de backup-id
.
Maak een variabele voor de backup-id
met de opdracht az sql db ltr-backup show
voor toekomstig gebruik.
get_backup_id=$(az sql midb ltr-backup show
--location eastus2 \
--managed-instance myinstance \
--database mydb \
--name "3214b3fb-fba9-43e7-96a3-09e35ffcb336;132292152080000000" \
--query 'id' \
--output tsv)
Uw database herstellen vanuit een LTR-back-up
az sql midb ltr-backup restore \
--dest-database targetmidb \
--dest-mi myinstance \
--dest-resource-group mygroup \
--backup-id $get_backup_id
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.
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.
Voer az sql midb ltr-backup list uit om de back-up name
op te halen.
Voer de opdracht az sql midb ltr-backup delete uit om een LTR-back-up te verwijderen.
az sql midb ltr-backup delete \
--location eastus2 \
--managed-instance myinstance \
--database mymanageddb \
--name "3214b3fb-fba9-43e7-96a3-09e35ffcb336;132292152080000000"
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.