Azure SQL Database vous permet de configurer une stratégie de conservation des sauvegardes à long terme (LTR) afin de conserver automatiquement les sauvegardes dans des conteneurs de stockage Blob Azure distincts pendant une durée maximale de 10 ans. Vous pouvez ensuite récupérer une base de données à l’aide de ces sauvegardes via le portail Azure, Azure CLI ou PowerShell.
Si vous préférez exécuter les commandes de référence de l’interface de ligne de commande localement, installez l’interface Azure CLI. Si vous exécutez sur Windows ou macOS, envisagez d’exécuter Azure CLI dans un conteneur Docker. Pour plus d’informations, consultez Guide pratique pour exécuter Azure CLI dans un conteneur Docker.
Si vous utilisez une installation locale, connectez-vous à Azure CLI à l’aide de la commande az login. Pour finir le processus d’authentification, suivez les étapes affichées dans votre terminal. Pour connaître les autres options de connexion, consultez Se connecter avec Azure CLI.
Lorsque vous y êtes invité, installez l’extension Azure CLI lors de la première utilisation. Pour plus d’informations sur les extensions, consultez Utiliser des extensions avec Azure CLI.
Exécutez az version pour rechercher la version et les bibliothèques dépendantes installées. Pour effectuer une mise à niveau vers la dernière version, exécutez az upgrade.
Préparez votre environnement pour PowerShell.
Notes
Cet article utilise le module Azure Az PowerShell, qui est le module PowerShell recommandé pour interagir avec Azure. Pour démarrer avec le module Az PowerShell, consulter Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.
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. Pour ces cmdlets, voir AzureRM.Sql. Les arguments des commandes dans le module Az sont sensiblement identiques à ceux des modules AzureRm.
Pour Get-AzSqlDatabaseLongTermRetentionBackup et Restore-AzSqlDatabase, vous devez être membre de l’un des rôles suivants :
Rôle Propriétaire de l’abonnement
Rôle Contributeur au niveau de l'abonnement, ou
Rôle Contributeur de SQL Server
Rôle personnalisé avec les autorisations suivantes :
Le rôle Contributeur de SQL Server n’a pas l’autorisation de supprimer les sauvegardes LTR.
Les autorisations Azure de contrôle d’accès en fonction du rôle (RBAC) peuvent être accordées dans l’étendue de l’abonnement ou du groupe de ressources. 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 :
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.
Dans le portail Azure, accédez à votre serveur, puis sélectionnez Sauvegardes. Sélectionnez l’onglet Stratégies de conservation pour modifier vos paramètres de conservation de sauvegarde.
Sous l’onglet Stratégies de conservation, sélectionnez la ou les bases de données sur lesquelles vous souhaitez définir ou modifier des stratégies de conservation des sauvegardes à long terme. Les bases de données non sélectionnées ne sont pas affectées.
Dans le volet Configurer les stratégies, spécifiez la période de conservation souhaitée pour les sauvegardes hebdomadaires, mensuelles ou annuelles. Choisissez une période de conservation de « 0 » pour indiquer qu’aucune conservation de sauvegarde à long terme ne doit être définie.
Sélectionnez Appliquer pour appliquer les paramètres de conservation choisis à toutes les bases de données sélectionnées.
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. Pour en savoir plus sur la cadence des sauvegardes LTR, consultez la section relative à la conservation des sauvegardes à long terme.
Exécutez la commande az sql db ltr-policy set pour créer une stratégie LTR. L’exemple suivant définit une stratégie de conservation à long terme pour 12 semaines pour la sauvegarde hebdomadaire.
az sql db ltr-policy set \
--resource-group mygroup \
--server myserver \
--name mydb \
--weekly-retention "P12W"
Cet exemple définit une stratégie de conservation pour 12 semaines pour la sauvegarde hebdomadaire, 5 ans pour la sauvegarde annuelle, et la semaine du 15 avril pour l’exécution de la sauvegarde LTR annuelle.
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
Afficher des sauvegardes et restaurer à partir d’une sauvegarde
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.
Dans le portail Azure, accédez à votre serveur, puis sélectionnez Sauvegardes. Pour afficher les sauvegardes LTR disponibles pour une base de données spécifique, sélectionnez Gérer sous la colonne des Sauvegardes LTR disponibles. Un volet s’affiche avec la liste des sauvegardes LTR disponibles pour la base de données sélectionnée.
Dans le volet Sauvegardes LTR disponibles, passez en revue les sauvegardes disponibles. Sélectionnez une sauvegarde à partir de laquelle vous souhaitez effectuer la restauration.
Pour effectuer une restauration à partir d’une sauvegarde LTR disponible, sélectionnez la sauvegarde à partir de laquelle vous souhaitez effectuer la restauration, puis Restaurer.
Choisissez un nom pour votre nouvelle base de données, puis sélectionnez Vérifier + créer pour passer en revue les détails de votre restauration. Sélectionnez Créer pour restaurer votre base de données à partir de la sauvegarde choisie.
Dans la barre d’outils, cliquez sur l’icône de notification pour afficher l’état du travail de restauration.
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.
Exécutez la commande az sql db ltr-policy show pour afficher la stratégie LTR pour une base de données unique sur votre serveur.
az sql db ltr-policy show \
--resource-group mygroup \
--server myserver \
--name mydb
Afficher des sauvegardes de rétention à long terme
Utilisez la commande az sql db ltr-backup list pour lister les stratégies LTR pour une base de données. Vous pouvez utiliser cette commande pour rechercher le paramètre name à utiliser dans d’autres commandes.
az sql db ltr-backup list \
--location eastus2 \
--server myserver \
--database mydb
Restaurer à partir de sauvegardes de rétention à long terme
Restaurez votre base de données à partir de la sauvegarde LTR.
az sql db ltr-backup restore \
--dest-database targetdb \
--dest-server myserver \
--dest-resource-group mygroup \
--backup-id $get_backup_id
Important
Pour restaurer à partir d’une sauvegarde LTR après la suppression du serveur ou du groupe de ressources, vous devez disposer d’autorisations délimitées au niveau de l’abonnement du serveur, cet abonnement devant être actif. Vous devez également omettre le paramètre facultatif -ResourceGroupName.
Notes
À partir de là, vous pouvez vous connecter à la base de données restaurée à l’aide de SQL Server Management Studio pour effectuer les tâches nécessaires, comme la permutation des bases de données. Consultez Restauration dans le temps.
Afficher des stratégies de rétention à long terme
Cet exemple montre comment lister les stratégies de conservation à long terme au sein d’un serveur.
# 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 terme
Cet exemple montre comment effacer une stratégie de conservation à long terme d’une base de données.
Afficher des sauvegardes de rétention à long terme
Cet exemple montre comment répertorier les sauvegardes de rétention à long terme au sein d’un serveur.
# 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
Restaurer à partir de sauvegardes de rétention à long terme
Cet exemple montre comment restaurer à partir d’une sauvegarde de rétention à long terme. 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.
# 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 restaurer à partir d’une sauvegarde LTR après la suppression du serveur ou du groupe de ressources, vous devez disposer d’autorisations délimitées au niveau de l’abonnement du serveur, cet abonnement devant être actif. Vous devez également omettre le paramètre -ResourceGroupName facultatif.
Si vous utilisez des sauvegardes LTR pour respecter la conformité ou d’autres exigences stratégiques, envisagez d’effectuer des exercices de récupération périodiques pour vérifier que les sauvegardes LTR peuvent être restaurées et que la restauration produit un état de base de données attendu.
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. Consultez Restauration dans le temps.
Supprimer des sauvegardes de rétention à long terme
Supprimez les sauvegardes conservées pour une base de données spécifique avec une stratégie LTR.
Important
La suppression de sauvegardes de rétention à long terme n’est pas réversible. Pour supprimer une sauvegarde LTR une fois que le serveur a été supprimé, vous devez disposer de l’autorisation Étendue de l’abonnement. Vous pouvez configurer des notifications sur chaque suppression dans Azure Monitor en filtrant sur l’opération « Supprime une sauvegarde de conservation à long terme ». Le journal d’activité contient des informations sur la personne qui a effectué la requête et quand. Consultez Créer des alertes de journal d’activité pour obtenir des instructions détaillées.
Dans le portail Azure, accédez au serveur logique d’Azure SQL Database.
Sélectionnez Sauvegardes. Pour afficher les sauvegardes LTR disponibles pour une base de données spécifique, sélectionnez Gérer sous la colonne Sauvegardes LTR disponibles. Un volet s’affiche avec la liste des sauvegardes LTR disponibles pour la base de données sélectionnée.
Dans le volet Sauvegardes LTR disponibles, passez en revue les sauvegardes disponibles. Sélectionner une sauvegarde à supprimer. Sélectionnez Supprimer.
Si vous utilisez des sauvegardes LTR pour répondre à des exigences de conformité ou à d’autres exigences stratégiques :
Vérifiez que les sauvegardes LTR sont effectuées conformément à la stratégie configurée. Pour cela, suivez les étapes décrites dans la section afficher les sauvegardes en utilisant le portail, Azure CLI ou PowerShell.
Envisagez d’effectuer des exercices de récupération périodique pour vérifier que la restauration des sauvegardes LTR aboutit à l’état de base de données attendu.
Contenu connexe
Pour plus d’informations sur les sauvegardes automatiques générées par le service, consultez la page Sauvegardes automatiques.