Gérer la conservation des sauvegardes à long terme Azure SQL Managed Instance (PowerShell)Manage Azure SQL Managed Instance long-term backup retention (PowerShell)

S’APPLIQUE À : Azure SQL Managed Instance

Dans Azure SQL Managed Instance, vous pouvez configurer une stratégie de conservation des sauvegardes à long terme (LTR) grâce à une fonctionnalité en préversion publique limitée.In Azure SQL Managed Instance, you can configure a long-term backup retention policy (LTR) as a limited public preview feature. Cela vous permet de conserver automatiquement les sauvegardes de base de données dans des conteneurs de Stockage Blob Azure distincts pendant 10 ans.This allows you to to automatically retain database backups in separate Azure Blob storage containers for up to 10 years. Vous pouvez ensuite récupérer une base de données à l’aide de ces sauvegardes avec PowerShell.You can then recover a database using these backups with PowerShell.

Important

La conservation LTR des instances gérées, actuellement en préversion limitée, est disponible pour les abonnements EA et CSP selon les cas.LTR for managed instances is currently in limited preview and available for EA and CSP subscriptions on a case by case basis. Pour demander une inscription, créez un ticket de support Azure.To request enrollment, please create an Azure support ticket. Pour le type de problème, sélectionnez « Problème technique », pour le service, choisissez « SQL Database Managed Instance » et pour le type de problème, sélectionnez Sauvegarde, restauration et continuité d’activité/conservation de sauvegarde à long terme.For issue type select technical issue, for service choose SQL Database Managed Instance and for the problem type select Backup, Restore, and Business Continuity/Long-term backup retention. Dans votre demande, indiquez que vous souhaitez être inscrit à la préversion publique limitée de LTR pour Managed Instance.In your request, please state you would like to be enrolled in the limited public preview of LTR for managed instance.

Les sections suivantes vous montrent comment utiliser PowerShell pour configurer la rétention des sauvegardes à long terme, afficher des sauvegardes dans le stockage SQL Azure et restaurer à partir d’une sauvegarde dans le stockage SQL Azure.The following sections show you how to use PowerShell to configure the long-term backup retention, view backups in Azure SQL storage, and restore from a backup in Azure SQL storage.

Rôles Azure pour gérer la conservation à long termeAzure roles to manage long-term retention

Pour Get-AzSqlInstanceDatabaseLongTermRetentionBackup et Restore-AzSqlInstanceDatabase, vous devez avoir l’un des rôles suivants :For Get-AzSqlInstanceDatabaseLongTermRetentionBackup and Restore-AzSqlInstanceDatabase, you will need to have one of the following roles:

  • Rôle Propriétaire de l’abonnementSubscription Owner role or
  • Rôle Collaborateur Managed InstanceManaged Instance Contributor role or
  • Rôle personnalisé avec les autorisations suivantes :Custom role with the following permissions:
    • Microsoft.Sql/locations/longTermRetentionManagedInstanceBackups/read
    • Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionManagedInstanceBackups/read
    • Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups/read

Pour Remove-AzSqlInstanceDatabaseLongTermRetentionBackup, vous devez avoir l’un des rôles suivants :For Remove-AzSqlInstanceDatabaseLongTermRetentionBackup, you will need to have one of the following roles:

  • Rôle Propriétaire de l’abonnementSubscription Owner role or
  • Rôle personnalisé avec l’autorisation suivante :Custom role with the following permission:
    • Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups/delete

Notes

Le rôle Collaborateur Managed Instance n’a pas l’autorisation de supprimer les sauvegardes LTR.The Managed Instance Contributor role does not have permission to delete LTR backups.

Les autorisations RBAC peuvent être accordées dans l’étendue de l’abonnement ou du groupe de ressources.RBAC permissions could be granted in either subscription or resource group scope. Toutefois, pour accéder aux sauvegardes LTR appartenant à une instance supprimée, il faut accorder l’autorisation dans l’étendue de l’abonnement de cette instance.However, to access LTR backups that belong to a dropped instance, the permission must be granted in the subscription scope of that instance.

  • Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups/delete

Créer une stratégie de rétention à long termeCreate an LTR policy

# 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.
Set-AzSqlInstanceDatabaseBackupLongTermRetentionPolicy -InstanceName $instanceName `
   -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-AzSqlInstanceDatabaseBackupLongTermRetentionPolicy -InstanceName $instanceName `
    -DatabaseName $dbName -ResourceGroupName $resourceGroup -WeeklyRetention P12W -YearlyRetention P5Y -WeekOfYear 16

Afficher des stratégies de rétention à long termeView LTR policies

Cet exemple montre comment lister les stratégies LTR au sein d’une instance.This example shows how to list the LTR policies within an instance

# gets the current version of LTR policy for the database
$ltrPolicies = Get-AzSqlInstanceDatabaseBackupLongTermRetentionPolicy -InstanceName $instanceName `
    -DatabaseName $dbName -ResourceGroupName $resourceGroup

Effacer une stratégie de rétention à long termeClear an LTR policy

Cet exemple montre comment effacer une stratégie de rétention à long terme d’une base de donnéesThis example shows how to clear an LTR policy from a database

Set-AzSqlInstanceDatabaseBackupLongTermRetentionPolicy -InstanceName $instanceName `
   -DatabaseName $dbName -ResourceGroupName $resourceGroup -RemovePolicy

Afficher des sauvegardes de rétention à long termeView LTR backups

Cet exemple montre comment lister les sauvegardes LTR au sein d’une instance.This example shows how to list the LTR backups within an instance.

# 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-AzSqlInstanceDatabaseLongTermRetentionBackup -Location $instance.Location

# get the list of LTR backups from the Azure region under the given managed instance
$ltrBackups = Get-AzSqlInstanceDatabaseLongTermRetentionBackup -Location $instance.Location -InstanceName $instanceName

# get the LTR backups for a specific database from the Azure region under the given managed instance
$ltrBackups = Get-AzSqlInstanceDatabaseLongTermRetentionBackup -Location $instance.Location -InstanceName $instanceName -DatabaseName $dbName

# list LTR backups only from live databases (you have option to choose All/Live/Deleted)
$ltrBackups = Get-AzSqlInstanceDatabaseLongTermRetentionBackup -Location $instance.Location -DatabaseState Live

# only list the latest LTR backup for each database
$ltrBackups = Get-AzSqlInstanceDatabaseLongTermRetentionBackup -Location $instance.Location -InstanceName $instanceName -OnlyLatestPerDatabase

Supprimer des sauvegardes de rétention à long termeDelete LTR backups

Cet exemple montre comment supprimer une sauvegarde de rétention à long terme de la liste des sauvegardes.This example shows how to delete an LTR backup from the list of backups.

# remove the earliest backup
$ltrBackup = $ltrBackups[0]
Remove-AzSqlInstanceDatabaseLongTermRetentionBackup -ResourceId $ltrBackup.ResourceId

Important

La suppression de sauvegardes de rétention à long terme n’est pas réversible.Deleting LTR backup is non-reversible. Pour supprimer une sauvegarde LTR une fois l’instance supprimée, vous devez disposer d’une autorisation étendue à l’abonnement.To delete an LTR backup after the instance has been deleted you must have Subscription scope permission. Vous pouvez configurer des notifications sur chaque suppression dans Azure Monitor en filtrant sur l’opération « Supprime une sauvegarde de conservation à long terme ».You can set up notifications about each delete in Azure Monitor by filtering for operation 'Deletes a long term retention backup'. Le journal d’activité contient des informations sur la personne qui a effectué la requête et quand.The activity log contains information on who and when made the request. Consultez Créer des alertes de journal d’activité pour obtenir des instructions détaillées.See Create activity log alerts for detailed instructions.

Restaurer à partir de sauvegardes de rétention à long termeRestore from LTR backups

Cet exemple montre comment restaurer à partir d’une sauvegarde de rétention à long terme.This example shows how to restore from an LTR backup. Notez que cette interface n’a pas changé, mais que le paramètre d’ID de ressource requiert désormais l’ID de ressource de sauvegarde de rétention à long terme.Note, this interface did not change but the resource id parameter now requires the LTR backup resource id.

# restore a specific LTR backup as an P1 database on the instance $instanceName of the resource group $resourceGroup
Restore-AzSqlInstanceDatabase -FromLongTermRetentionBackup -ResourceId $ltrBackup.ResourceId `
   -TargetInstanceName $instanceName -TargetResourceGroupName $resourceGroup -TargetInstanceDatabaseName $dbName

Important

Pour effectuer une restauration à partir d’une sauvegarde LTR après la suppression de l’instance, vous devez disposer d’autorisations étendues à l’abonnement de l’instance, cet abonnement devant être actif.To restore from an LTR backup after the instance has been deleted, you must have permissions scoped to the subscription of the instance and that subscription must be active. Vous devez également omettre le paramètre facultatif -ResourceGroupName.You must also omit the optional -ResourceGroupName parameter.

Notes

À ce stade, vous pouvez vous connecter à la base de données restaurée à l’aide de SQL Server Management Studio pour exécuter les tâches nécessaires, notamment pour extraire un bit de données de la base de données restaurée à copier dans la base de données existante ou pour supprimer la base de données existante et renommer la base de données restaurée avec le nom de la base de données existante.From here, you can connect to the restored database using SQL Server Management Studio to perform needed tasks, such as to extract a bit of data from the restored database to copy into the existing database or to delete the existing database and rename the restored database to the existing database name. Consultez Restauration dans le temps.See point in time restore.

Étapes suivantesNext steps