Vue d’ensemble de la continuité de l’activité avec la base de données Azure SQLOverview of business continuity with Azure SQL Database

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

La continuité de l’activité dans Azure SQL Database et SQL Managed Instance fait référence aux mécanismes, stratégies et procédures qui permettent à votre entreprise de continuer à fonctionner en cas d’interruption affectant notamment son infrastructure informatique.Business continuity in Azure SQL Database and SQL Managed Instance refers to the mechanisms, policies, and procedures that enable your business to continue operating in the face of disruption, particularly to its computing infrastructure. Dans la plupart des cas, SQL Database et SQL Managed Instance gèrent les événements d’interruption qui peuvent se produire dans l’environnement cloud et préservent l’exécution de vos applications et processus métier.In the most of the cases, SQL Database and SQL Managed Instance will handle the disruptive events that might happen in the cloud environment and keep your applications and business processes running. Toutefois, certains de ces événements ne peuvent pas être automatiquement gérés par SQL Database, notamment dans les cas suivants :However, there are some disruptive events that cannot be handled by SQL Database automatically such as:

  • Un utilisateur a accidentellement supprimé ou mis à jour une ligne dans une table.User accidentally deleted or updated a row in a table.
  • Un attaquant a réussi à supprimer des données ou une base de données.Malicious attacker succeeded to delete data or drop a database.
  • Un tremblement de terre a provoqué une panne d’alimentation et désactivé temporairement le centre de données.Earthquake caused a power outage and temporary disabled datacenter.

Cette vue d’ensemble décrit les fonctionnalités que fournit SQL Database et SQL Managed Instance pour la continuité de l’activité et la reprise d’activité après sinistre.This overview describes the capabilities that SQL Database and SQL Managed Instance provide for business continuity and disaster recovery. Découvrez les options, les recommandations et les didacticiels pour la récupération à partir d’événements d’interruption qui pourraient entraîner une perte de données ou l’indisponibilité de votre base de données et de votre application.Learn about options, recommendations, and tutorials for recovering from disruptive events that could cause data loss or cause your database and application to become unavailable. Connaissez la procédure à suivre lorsqu’un utilisateur ou qu’une erreur d’application affecte l’intégrité des données, lorsqu’une région Azure subit une panne ou que votre application nécessite une maintenance.Learn what to do when a user or application error affects data integrity, an Azure region has an outage, or your application requires maintenance.

Fonctionnalités de la base de données SQL que vous pouvez utiliser pour garantir une continuité d’activitéSQL Database features that you can use to provide business continuity

Du point de vue de la base de données, il existe quatre scénarios d’interruption potentiels :From a database perspective, there are four major potential disruption scenarios:

  • Des défaillances matérielles ou logicielles locales telles qu’une panne de lecteur de disque affectent le nœud de base de données.Local hardware or software failures affecting the database node such as a disk-drive failure.
  • Une suppression ou une altération des données se produit, généralement à la suite d’un bogue d’application ou d’une erreur humaine.Data corruption or deletion typically caused by an application bug or human error. Ces défaillances sont spécifiques à l’application et ne peuvent généralement pas être détectées par le service de base de données.Such failures are application-specific and typically cannot be detected by the database service.
  • Une panne de centre de données se produit, à la suite d’une catastrophe naturelle, par exemple.Datacenter outage, possibly caused by a natural disaster. Ce scénario nécessite un certain degré de redondance géographique permettant le basculement d’application vers un autre centre de données.This scenario requires some level of geo-redundancy with application failover to an alternate datacenter.
  • Des erreurs de mise à niveau ou de maintenance se sont produites. Ces problèmes imprévus qui se produisent au cours d’une maintenance ou de mises à niveau d’infrastructure planifiées peuvent nécessiter une restauration rapide à un état antérieur de la base de données.Upgrade or maintenance errors, unanticipated issues that occur during planned infrastructure maintenance or upgrades may require rapid rollback to a prior database state.

Pour atténuer les défaillances matérielles et logicielles locales, SQL Database inclut une architecture haute disponibilité qui garantit une récupération automatique de ces défaillances jusqu’à une disponibilité SLA de 99,995 %.To mitigate the local hardware and software failures, SQL Database includes a high availability architecture, which guarantees automatic recovery from these failures with up to 99.995% availability SLA.

Pour protéger votre entreprise contre la perte de données, SQL Database et SQL Managed Instance créent automatiquement des sauvegardes de bases de données complètes (toutes les semaines), des sauvegardes de bases de données différentielles (toutes les 12 heures) et des sauvegardes de fichiers journaux (toutes les 5 à 10 minutes).To protect your business from data loss, SQL Database and SQL Managed Instance automatically create full database backups weekly, differential database backups every 12 hours, and transaction log backups every 5 - 10 minutes. Les sauvegardes sont stockées dans le stockage RA-GRS pendant au moins 7 jours pour tous les niveaux de service.The backups are stored in RA-GRS storage for at least 7 days for all service tiers. Tous les niveaux de service, à l’exception du support De base, prennent en charge une période de rétention des sauvegardes configurable pour la restauration dans le temps jusqu’à 35 jours.All service tiers except Basic support configurable backup retention period for point-in-time restore, up to 35 days.

SQL Database et SQL Managed Instance fournissent également plusieurs fonctionnalités de continuité de l’activité que vous pouvez utiliser pour atténuer différents scénarios non planifiés.SQL Database and SQL Managed Instance also provide several business continuity features that you can use to mitigate various unplanned scenarios.

Récupérer une base de données dans la même région AzureRecover a database within the same Azure region

Vous pouvez utiliser des sauvegardes de base de données automatiques pour restaurer une base de données à un point dans le temps passé.You can use automatic database backups to restore a database to a point in time in the past. Vous pouvez ainsi récupérer suite à des altérations de données dues à des erreurs humaines.This way you can recover from data corruptions caused by human errors. La restauration dans le temps vous permet de créer une nouvelle base de données sur le même serveur qui représente l’état des données avant l’événement de corruption.The point-in-time restore allows you to create a new database in the same server that represents the state of data prior to the corrupting event. Pour la plupart des bases de données, les opérations de restauration prennent moins de 12 heures.For most databases the restore operations takes less than 12 hours. La récupération d’une base de données très volumineuse ou très active peut prendre plus de temps.It may take longer to recover a very large or very active database. Pour plus d’informations sur le temps de récupération, voir Temps de récupération de la base de données.For more information about recovery time, see database recovery time.

Si la période maximale de rétention de base de données prise en charge associée à la limite de restauration dans le temps n’est pas suffisante pour votre application, vous pouvez la rallonger en configurant une stratégie de conservation à long terme (LTR) pour les bases de données.If the maximum supported backup retention period for point-in-time restore (PITR) is not sufficient for your application, you can extend it by configuring a long-term retention (LTR) policy for the database(s). Pour plus d’informations, consultez Conservation des sauvegardes à long terme.For more information, see Long-term backup retention.

Comparer la géoréplication et des groupes de basculementCompare geo-replication with failover groups

Les groupes de basculement automatique simplifient le déploiement et l’utilisation de la géo-réplication et ajoutent les fonctionnalités supplémentaires décrites dans le tableau suivant :Auto-failover groups simplify the deployment and usage of geo-replication and add the additional capabilities as described in the following table:

GéoréplicationGeo-replication Groupes de basculementFailover groups
Basculement automatiqueAutomatic failover NonNo OuiYes
Basculement simultanément de plusieurs bases de donnéesFail over multiple databases simultaneously NonNo OuiYes
L'utilisateur doit mettre à jour la chaîne de connexion après le basculementUser must update connection string after failover OuiYes NonNo
Prise en charge de SQL Managed InstanceSQL Managed Instance support NonNo OuiYes
Peut être dans la même région que l’élément principalCan be in same region as primary OuiYes NonNo
Réplicas multiplesMultiple replicas OuiYes NonNo
Prise en charge de l’échelle lectureSupports read-scale OuiYes OuiYes

Récupération d’une base de données sur le serveur existantRecover a database to the existing server

Bien que le fait soit rare, un centre de données Azure peut subir une panne.Although rare, an Azure datacenter can have an outage. En cas de panne, il entraîne une interruption de service qui peut durer de quelques minutes à plusieurs heures.When an outage occurs, it causes a business disruption that might only last a few minutes or might last for hours.

  • Vous pouvez attendre que votre base de données redevienne disponible une fois la panne réparée au niveau du centre de données.One option is to wait for your database to come back online when the datacenter outage is over. Cette méthode fonctionne pour les applications qui peuvent se permettre d’avoir la base de données déconnectée.This works for applications that can afford to have the database offline. C’est le cas, par exemple, d’un projet de développement ou d’une version d’évaluation gratuite sur lesquels vous n’avez pas à travailler en permanence.For example, a development project or free trial you don't need to work on constantly. Quand un centre de données connaît une panne, vous ne savez pas combien de temps cela peut durer. Cette solution n’est donc valable que si vous n’avez pas besoin de votre base de données pendant un certain temps.When a datacenter has an outage, you do not know how long the outage might last, so this option only works if you don't need your database for a while.
  • Vous pouvez également restaurer une base de données sur n’importe quel serveur d’une région Azure quelconque à l’aide des sauvegardes de base de données géo-redondantes (ou géorestaurations).Another option is to restore a database on any server in any Azure region using geo-redundant database backups (geo-restore). La géorestauration utilise une sauvegarde géoredondante en tant que source et peut être mise à profit pour récupérer une base de données même si la base de données ou le centre de données est inaccessible en raison d’une défaillance.Geo-restore uses a geo-redundant backup as its source and can be used to recover a database even if the database or datacenter is inaccessible due to an outage.
  • Enfin, vous pouvez reprendre l’activité rapidement en cas de panne si vous avez configuré des réplicas géosecondaires à l’aide de la géoréplication active ou d’un groupe de basculement automatique pour votre ou vos bases de données.Finally, you can quickly recover from an outage if you have configured either geo-secondary using active geo-replication or an auto-failover group for your database or databases. Selon la technologie choisie, vous pouvez utiliser soit le basculement manuel, soit le basculement automatique.Depending on your choice of these technologies, you can use either manual or automatic failover. Le basculement proprement dit ne prend que quelques secondes, mais son activation par le service prend au moins 1 heure.While failover itself takes only a few seconds, the service will take at least 1 hour to activate it. Cela est nécessaire pour s’assurer que le basculement est justifié par l’étendue de la panne.This is necessary to ensure that the failover is justified by the scale of the outage. En outre, le basculement peut entraîner une petite perte de données en raison de la nature de la réplication asynchrone.Also, the failover may result in small data loss due to the nature of asynchronous replication.

Au moment d’élaborer votre plan de continuité d’activité, vous devez comprendre le délai maximal acceptable nécessaire à la récupération complète de l’application après l’événement d’interruption.As you develop your business continuity plan, you need to understand the maximum acceptable time before the application fully recovers after the disruptive event. Ce délai s’appelle l’objectif de délai de récupération (RTO, recovery time objective).The time required for application to fully recover is known as Recovery time objective (RTO). Vous devez également comprendre sur quelle période maximale l’application peut accepter de perdre les mises à jour de données récentes (intervalle de temps) lors de la récupération suite à un événement d’interruption.You also need to understand the maximum period of recent data updates (time interval) the application can tolerate losing when recovering from an unplanned disruptive event. La perte de données potentielle est appelée un objectif de point de récupération (RPO).The potential data loss is known as Recovery point objective (RPO).

Différentes méthodes de récupération offrent différents niveaux de RPO et RTO.Different recovery methods offer different levels of RPO and RTO. Vous pouvez choisir une méthode de récupération spécifique ou utiliser une combinaison de méthodes pour effectuer une récupération complète de l’application.You can choose a specific recovery method, or use a combination of methods to achieve full application recovery. Le tableau suivant compare les RPO et RTO de chaque option de récupération.The following table compares RPO and RTO of each recovery option. Les groupes de basculement automatique simplifient le déploiement et l’utilisation de la géo-réplication et ajoutent les fonctionnalités supplémentaires décrites dans le tableau suivant.Auto-failover groups simplify the deployment and usage of geo-replication and adds the additional capabilities as described in the following table.

Méthode de récupérationRecovery method RTORTO RPORPO
Géo-restauration à partir de sauvegardes répliquées géographiquementGeo-restore from geo-replicated backups 12 h12 h 1 h1 h
Groupes de basculement automatiqueAuto-failover groups 1 h1 h 5 s5 s
Basculement de base de données manuelManual database failover 30 s30 s 5 s5 s

Notes

Basculement de base de données manuel fait référence au basculement d’une base de données unique vers sa base de données secondaire géorépliquée en mode non planifié.Manual database failover refers to failover of a single database to its geo-replicated secondary using the unplanned mode. Consultez le tableau précédemment illustré dans cet article pour plus d’informations sur le RTO et le RPO du basculement automatique.See the table earlier in this article for details of the auto-failover RTO and RPO.

Utilisez des groupes de basculement automatique si votre application répond à l’un des critères suivants :Use auto-failover groups if your application meets any of these criteria:

  • Est essentielle.Is mission critical.
  • A un contrat de niveau de service (SLA) qui n’autorise pas plus de 12 heures d’interruption de service.Has a service level agreement (SLA) that does not allow for 12 hours or more of downtime.
  • Toute interruption de service peut engager la responsabilité financière.Downtime may result in financial liability.
  • Affiche un taux élevé de données modifiées et la perte d’une heure de données n’est pas acceptable.Has a high rate of data change and 1 hour of data loss is not acceptable.
  • Le coût supplémentaire lié à l'utilisation de la géoréplication est plus faible que la responsabilité financière potentielle et la perte d'activité associée.The additional cost of active geo-replication is lower than the potential financial liability and associated loss of business.

Vous pouvez choisir d’utiliser une combinaison de sauvegardes de bases de données et de géoréplication active en fonction des besoins de votre application.You may choose to use a combination of database backups and active geo-replication depending upon your application requirements. Pour plus d’informations sur la conception pour des bases de données autonomes et des pools élastiques à l’aide de ces fonctionnalités de continuité d’activité, consultez les articles Conception d’applications pour la récupération d’urgence cloud et Stratégies de récupération d’urgence de pool élastique.For a discussion of design considerations for stand-alone databases and for elastic pools using these business continuity features, see Design an application for cloud disaster recovery and Elastic pool disaster recovery strategies.

Les sections suivantes fournissent une vue d’ensemble des étapes de la récupération à l’aide de sauvegardes de bases de données ou de la géo-réplication active.The following sections provide an overview of the steps to recover using either database backups or active geo-replication. Pour des instructions détaillées, y compris les exigences de planification, les étapes de post-récupération et des informations sur la simulation d’une panne pour effectuer un exercice de reprise d’activité après sinistre, consultez Récupérer une base de données dans SQL Azure en cas de panne.For detailed steps including planning requirements, post recovery steps, and information about how to simulate an outage to perform a disaster recovery drill, see Recover a database in SQL Database from an outage.

Se préparer à une pannePrepare for an outage

Quelle que soit la fonctionnalité de continuité d’activité que vous utilisez, vous devez :Regardless of the business continuity feature you use, you must:

  • Identifier et préparer le serveur cible, y compris les règles de pare-feu IP au niveau du serveur, les connexions et les autorisations au niveau de la base de données MASTER.Identify and prepare the target server, including server-level IP firewall rules, logins, and master database level permissions.
  • Déterminer comment rediriger les clients et les applications clientes vers le nouveau serveurDetermine how to redirect clients and client applications to the new server
  • Documenter les autres dépendances, notamment les paramètres d’audit et les alertesDocument other dependencies, such as auditing settings and alerts

Si la préparation n’est pas effectuée correctement, la mise en ligne de vos applications après un basculement ou une récupération de base de données prend plus de temps et nécessite probablement de résoudre certains problèmes dans une situation de stress, ce qui constitue une combinaison très risquée.If you do not prepare properly, bringing your applications online after a failover or a database recovery takes additional time and likely also require troubleshooting at a time of stress - a bad combination.

Basculement vers une base de données secondaire géo-répliquéeFail over to a geo-replicated secondary database

Si vous utilisez la géoréplication active ou des groupes de basculement automatique comme mécanisme de récupération, vous pouvez configurer une stratégie de basculement automatique ou utiliser le basculement non planifié manuel.If you are using active geo-replication or auto-failover groups as your recovery mechanism, you can configure an automatic failover policy or use manual unplanned failover. Une fois le basculement lancé, la base de données secondaire est promue comme nouvelle base principale et peut alors enregistrer de nouvelles transactions et répondre aux requêtes, avec des pertes de données minimes pour les données qui n’ont pas encore été répliquées.Once initiated, the failover causes the secondary to become the new primary and ready to record new transactions and respond to queries - with minimal data loss for the data not yet replicated. Pour plus d’informations sur la création du processus de basculement, reportez-vous à la section Conception d’une application pour la récupération d’urgence cloud.For information on designing the failover process, see Design an application for cloud disaster recovery.

Notes

Quand le centre de données revient en ligne, les anciennes bases de données primaires se reconnectent automatiquement à la nouvelle base de données primaire et deviennent les bases de données secondaires.When the datacenter comes back online the old primaries automatically reconnect to the new primary and become secondary databases. Si vous devez replacer la base de données primaire dans sa région d’origine, vous pouvez initier un basculement programmé de manière manuelle (restauration automatique).If you need to relocate the primary back to the original region, you can initiate a planned failover manually (failback).

Effectuer une restauration géographiquePerform a geo-restore

Si vous utilisez les sauvegardes automatisées avec stockage géoredondant (activé par défaut), vous pouvez récupérer la base de données à l’aide de la géo-restauration.If you are using the automated backups with geo-redundant storage (enabled by default), you can recover the database using geo-restore. Dans la plupart des cas, la récupération intervient sous 12 heures, avec une perte de données de 1 heure maximum, selon le moment où la dernière sauvegarde de fichier journal a été effectuée et répliquée.Recovery usually takes place within 12 hours - with data loss of up to one hour determined by when the last log backup was taken and replicated. Tant que la récupération n’est pas terminée, la base de données ne peut pas enregistrer de transactions ou répondre à des requêtes.Until the recovery completes, the database is unable to record any transactions or respond to any queries. Remarquez que la géo-restauration permet uniquement de restaurer la base de données au dernier point disponible dans le temps.Note, geo-restore only restores the database to the last available point in time.

Notes

Si le centre de données redevient disponible avant que vous ne transfériez votre application vers la base de données récupérée, vous pouvez annuler la récupération.If the datacenter comes back online before you switch your application over to the recovered database, you can cancel the recovery.

Exécution de tâches de post-basculement/récupérationPerform post failover / recovery tasks

Après la récupération à l’aide d’un de ces mécanismes de récupération, vous devez effectuer les tâches supplémentaires suivantes afin que les utilisateurs et les applications soient de nouveau opérationnels :After recovery from either recovery mechanism, you must perform the following additional tasks before your users and applications are back up and running:

  • Rediriger les clients et les applications clientes vers le nouveau serveur et la base de données restaurée.Redirect clients and client applications to the new server and restored database.
  • Vérifier que les règles de pare-feu IP appropriées sont en place au niveau du serveur pour permettre aux utilisateurs de se connecter ou d’utiliser les pare-feu au niveau de la base de données afin d’activer les règles qui conviennent.Ensure appropriate server-level IP firewall rules are in place for users to connect or use database-level firewalls to enable appropriate rules.
  • Vérifier que les connexions et les autorisations appropriées au niveau de la base de données MASTER sont en place (ou utilisez des utilisateurs contenus).Ensure appropriate logins and master database level permissions are in place (or use contained users).
  • Configurer l’audit, selon les besoins.Configure auditing, as appropriate.
  • Configurer les alertes, selon les besoins.Configure alerts, as appropriate.

Notes

Si vous utilisez un groupe de basculement et que vous vous connectez aux bases de données à l’aide de l’écouteur en lecture-écriture, la redirection après le basculement se produit automatiquement et en toute transparence pour l’application.If you are using a failover group and connect to the databases using the read-write listener, the redirection after failover will happen automatically and transparently to the application.

Mettre à niveau une application avec un temps d’arrêt minimalUpgrade an application with minimal downtime

Parfois, une application doit être déconnectée en raison d’une maintenance planifiée, par exemple une mise à niveau.Sometimes an application must be taken offline because of planned maintenance such as an application upgrade. Gestion des mises à niveau des applications explique comment utiliser la géo-réplication active pour activer les mises à niveau propagées de votre application cloud afin de réduire le temps d’arrêt pendant les mises à niveau et de fournir un chemin de récupération en cas de problème.Manage application upgrades describes how to use active geo-replication to enable rolling upgrades of your cloud application to minimize downtime during upgrades and provide a recovery path if something goes wrong.

Étapes suivantesNext steps

Pour plus d’informations sur la conception d’applications pour des bases de données uniques et des pools élastiques, consultez les articles Concevoir une application pour la reprise d’activité dans le cloud et Stratégies de reprise d’activité avec un pool élastique.For a discussion of application design considerations for single databases and for elastic pools, see Design an application for cloud disaster recovery and Elastic pool disaster recovery strategies.