Microsoft propose Windows Azure SQL Database en tant que service SQL Server basé sur le cloud. Bien qu’il offre des fonctionnalités intégrées pour protéger les données contre les pannes de serveur, de réseau et de périphérique, il existe encore des cas où vous devez protéger vos données contre les erreurs d’application ou d’utilisateur. Dans cet article, nous discuterons de la façon de mettre en place une stratégie de sauvegarde et de restauration pour une base de données Windows Azure SQL.
Exportation d’une base de données SQL
Bien qu’il n’y ait pas de support direct pour la sauvegarde et la restauration d’une base de données Windows Azure SQL à l’aide de commandes telles que BACKUP DATABASE ou RESTORE DATABASE, vous pouvez toujours protéger vos données en les exportant. Windows Azure SQL Database propose un service d’exportation qui vous permet d’exporter la définition du schéma et les données des tables de la base de données vers un fichier d’exportation logique (BACPAC).
Pour exporter une base de données SQL Azure, vous pouvez utiliser le portail Windows Azure ou SQL Server Management Studio (SSMS). Dans le portail Windows Azure, vous pouvez accéder à la base de données et cliquer sur le lien Exporter pour lancer l’assistant d’opération Exporter la base de données. Vous pouvez spécifier les paramètres d’exportation et le processus d’exportation créera un fichier BACPAC dans un compte de stockage Blob Windows.
Dans SSMS, vous pouvez vous connecter au serveur de base de données Windows Azure SQL et cliquer avec le bouton droit sur la base de données dans l’Explorateur d’objets. Allez dans Tâches, puis cliquez sur Exporter l’application de niveau de données. Vous pouvez spécifier l’emplacement du fichier BACPAC et sélectionner les objets que vous souhaitez exporter. Une fois l’opération d’exportation terminée, vous disposerez d’un fichier BACPAC contenant le schéma et les données de la base de données.
Obtenir une sauvegarde transactionnellement cohérente
Lors de l’exportation d’une base de données SQL Azure, il est important de noter que l’opération d’exportation ne garantit pas la cohérence transactionnelle des données. Pour garantir la cohérence transactionnelle, vous avez deux options :
- Définissez la base de données en mode LECTURE SEULE, exportez les données vers un fichier BACPAC, puis rétablissez le mode LECTURE/ÉCRITURE. Cette option peut avoir un impact sur la disponibilité de la base de données pour les opérations d’écriture.
- Créez une copie de la base de données de Windows Azure SQL, puis effectuez une opération d’exportation à partir de la copie. Cette option n’a pas d’impact sur les opérations d’écriture de la base de données, mais il y aura un coût associé à la création de la copie.
Les deux options ont leurs avantages et leurs inconvénients, vous devez donc choisir celle qui correspond le mieux à vos besoins.
Importation d’une base de données SQL
Si vous disposez d’un fichier BACPAC, vous pouvez restaurer ou recréer la base de données sur le même serveur de base de données Windows Azure SQL, un autre serveur de base de données Windows Azure SQL ou une instance sur site du moteur de base de données SQL Server. Windows Azure SQL Database propose un service d’importation qui vous permet d’importer à partir d’un fichier BACPAC.
Dans le portail Windows Azure, vous pouvez accéder à la section Bases de données SQL et cliquer sur le lien Importer pour lancer l’opération d’importation. Vous devez sélectionner le fichier BACPAC, spécifier le nom de la base de données à créer et fournir des informations sur le serveur. Une fois l’opération d’importation terminée, vous disposerez d’une nouvelle base de données.
Dans SSMS, vous pouvez cliquer avec le bouton droit sur le nœud Base de données dans l’Explorateur d’objets et cliquer sur Importer l’application de niveau de données. Vous pouvez spécifier l’emplacement du fichier BACPAC et les paramètres de la base de données. Une fois l’opération d’importation terminée, vous disposerez de la base de données importée.
Automatisation des exportations
Windows Azure SQL Database propose un mécanisme pour automatiser le processus d’exportation d’une base de données vers des fichiers BACPAC à intervalles et fréquences définis. Vous pouvez configurer le processus d’exportation automatique en accédant à la page de configuration de la base de données sur le portail Windows Azure et en sélectionnant l’option Automatique. Vous pouvez spécifier le compte de stockage où les fichiers BACPAC seront stockés, le mécanisme d’authentification, la fréquence d’exportation et les paramètres de rétention.
Si vous souhaitez garantir la cohérence transactionnelle lors du processus d’exportation, vous pouvez créer un programme ou un script qui lance une opération de copie de base de données SQL, surveille le processus de copie et exporte un fichier BACPAC à partir de la copie de la base de données. Vous pouvez planifier l’exécution de ce programme ou script de manière récurrente à l’aide d’un planificateur de tâches tel que le planificateur de tâches Windows ou un rôle de travailleur Windows Azure.
En suivant ces étapes, vous pouvez mettre en place une stratégie de sauvegarde et de restauration pour votre base de données Windows Azure SQL, garantissant la protection de vos données contre les erreurs d’application ou d’utilisateur.