Gérer la conservation à long terme des sauvegardes Azure SQL DatabaseManage Azure SQL Database long-term backup retention

S’APPLIQUE À : Azure SQL Database Azure SQL Managed Instance

Azure SQL Database vous permet de configurer une base de données dotée d'une stratégie de conservation des sauvegardes à long terme (LTR) afin de conserver automatiquement les sauvegardes de la base de données dans des conteneurs de stockage Blob Azure distincts pendant une durée maximale de 10 ans.In Azure SQL Database, you can configure a database with a long-term backup retention policy (LTR) to automatically retain the 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 via le portail Azure ou PowerShell.You can then recover a database using these backups using the Azure portal or PowerShell. Vous pouvez également configurer la conservation à long terme pour une instance d'Azure SQL Managed Instance, mais cette fonctionnalité n'est actuellement disponible qu'en préversion publique limitée.You can configure long-term retention for an Azure SQL Managed Instance as well, but it is currently in limited public preview.

Utilisation du portail AzureUsing the Azure portal

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

Configurer des stratégies de rétention à long termeConfigure long-term retention policies

Vous pouvez configurer SQL Database pour conserver des sauvegardes automatisées sur une période plus longue que la période de rétention associée à votre niveau de service.You can configure SQL Database to retain automated backups for a period longer than the retention period for your service tier.

  1. Dans le portail Azure, sélectionnez votre instance SQL Server, puis cliquez sur Gérer les sauvegardes.In the Azure portal, select your SQL Server instance and then click Manage Backups. Dans l’onglet Configurer les stratégies, cochez la case pour la base de données sur laquelle vous souhaitez définir ou modifier des stratégies de rétention des sauvegardes à long terme.On the Configure policies tab, select the checkbox for the database on which you want to set or modify long-term backup retention policies. Si la case à cocher située en regard de la base de données n’est pas sélectionnée, les modifications de la stratégie ne s’appliqueront pas à cette base de données.If the checkbox next to the database is not selected, the changes for the policy will not apply to that database.

    lien gérer les sauvegardes

  2. Dans le volet Configure policies (Configurer des stratégies), indiquez si vous souhaitez conserver des sauvegardes à une fréquence hebdomadaire, mensuelle ou annuelle, et spécifiez la période de rétention pour chacune.In the Configure policies pane, select if want to retain weekly, monthly or yearly backups and specify the retention period for each.

    configurer des stratégies

  3. Lorsque vous avez terminé, cliquez sur Appliquer.When complete, click Apply.

Important

Lorsque vous activez une stratégie de rétention des sauvegardes à long terme, la première sauvegarde peut ne devenir visible et disponible pour une restauration qu’au bout de 7 jours.When you enable a long-term backup retention policy, it may take up to 7 days for the first backup to become visible and available to restore. Pour en savoir plus sur la cadence des sauvegardes LTR, consultez la section relative à la rétention des sauvegardes à long terme.For details of the LTR backup cadance, see long-term backup retention.

Afficher des sauvegardes et restaurer à partir d’une sauvegardeView backups and restore from a backup

Affichez les sauvegardes qui sont conservées pour une base de données spécifique avec une stratégie de conservation à long terme et restaurez à partir de ces sauvegardes.View the backups that are retained for a specific database with an LTR policy, and restore from those backups.

  1. Sur le portail Azure, sélectionnez votre serveur, puis cliquez sur Gérer les sauvegardes.In the Azure portal, select your server and then click Manage Backups. Dans l’onglet Sauvegardes disponibles, sélectionnez la base de données pour laquelle vous souhaitez afficher les sauvegardes disponibles.On the Available backups tab, select the database for which you want to see available backups.

    sélectionner la base de données

  2. Dans le volet Sauvegardes disponibles, passez en revue les sauvegardes disponibles.In the Available backups pane, review the available backups.

    afficher les sauvegardes

  3. Sélectionnez la sauvegarde à partir de laquelle vous souhaitez restaurer, puis spécifiez le nouveau nom de la base de données.Select the backup from which you want to restore, and then specify the new database name.

    restauration

  4. Cliquez sur OK pour restaurer votre base de données à partir de la sauvegarde qui se trouve dans le stockage Azure vers une nouvelle base de données.Click OK to restore your database from the backup in Azure storage to the new database.

  5. Dans la barre d’outils, cliquez sur l’icône de notification pour visualiser l’état du travail de restauration.On the toolbar, click the notification icon to view the status of the restore job.

    progression du travail de restauration

  6. Lorsque le travail de restauration est terminé, ouvrez la page Bases de données SQL pour visualiser la base de données nouvellement restaurée.When the restore job is completed, open the SQL databases page to view the newly restored database.

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.

Utilisation de PowerShellUsing PowerShell

Notes

Cet article a été mis à jour pour tenir compte de l’utilisation du nouveau module Az d’Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. Vous pouvez toujours utiliser le module AzureRM, qui continue à recevoir des correctifs de bogues jusqu’à au moins décembre 2020.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Pour en savoir plus sur le nouveau module Az et la compatibilité avec AzureRM, consultez Présentation du nouveau module Az d’Azure PowerShell.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Pour des instructions d’installation du module Az, consultez Installer Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

Important

Le module PowerShell Azure Resource Manager est toujours pris en charge par Azure SQL Database, mais tous les développements futurs sont destinés au module Az.Sql.The PowerShell Azure Resource Manager module is still supported by Azure SQL Database, but all future development is for the Az.Sql module. Pour ces cmdlets, voir AzureRM.Sql.For these cmdlets, see AzureRM.Sql. Les arguments des commandes dans le module Az sont sensiblement identiques à ceux des modules AzureRm.The arguments for the commands in the Az module and in the AzureRm modules are substantially identical.

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

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

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

  • Rôle Propriétaire de l’abonnementSubscription Owner role or

  • Rôle Contributeur de SQL ServerSQL Server Contributor role or

  • Rôle personnalisé avec les autorisations suivantes :Custom role with the following permissions:

    Microsoft.Sql/locations/longTermRetentionBackups/read Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionBackups/read Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups/readMicrosoft.Sql/locations/longTermRetentionBackups/read Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionBackups/read Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups/read

Pour Remove-AzSqlDatabaseLongTermRetentionBackup, vous devez avoir l’un des rôles suivants :For Remove-AzSqlDatabaseLongTermRetentionBackup, 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/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups/deleteMicrosoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups/delete

Notes

Le rôle Contributeur de SQL Server n’a pas l’autorisation de supprimer les sauvegardes LTR.The SQL Server 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 à un serveur abandonné, l’autorisation doit être accordée dans l’étendue de l’abonnement de ce serveur.However, to access LTR backups that belong to a dropped server, the permission must be granted in the subscription scope of that server.

  • Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups/deleteMicrosoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups/delete

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

# 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

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

Cet exemple montre comment répertorier les stratégies de rétention à long terme au sein d’un serveurThis example shows how to list the LTR policies within a server

# 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

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-AzSqlDatabaseBackupLongTermRetentionPolicy -ServerName $serverName -DatabaseName $dbName `
    -ResourceGroupName $resourceGroup -RemovePolicy

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

Cet exemple montre comment répertorier les sauvegardes de rétention à long terme au sein d’un serveur.This example shows how to list the LTR backups within a server.

# 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

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-AzSqlDatabaseLongTermRetentionBackup -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 que le serveur a été supprimé, vous devez disposer de l’autorisation Étendue de l’abonnement.To delete an LTR backup after the server 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 LTR.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 server $serverName of the resource group $resourceGroup
Restore-AzSqlDatabase -FromLongTermRetentionBackup -ResourceId $ltrBackup.ResourceId -ServerName $serverName -ResourceGroupName $resourceGroup `
    -TargetDatabaseName $dbName -ServiceObjectiveName P1

Important

Pour effectuer une restauration à partir d’une sauvegarde LTR après la suppression du serveur, vous devez disposer d’autorisations étendues à l’abonnement du serveur, cet abonnement devant être actif.To restore from an LTR backup after the server has been deleted, you must have permissions scoped to the server's subscription 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