Exporter (0) Imprimer
Développer tout
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

Éléments à prendre en considération pour la haute disponibilité et la récupération d'urgence avec la Base de données SQL de Windows Azure

Lorsque vous migrez une base de données SQL Server sur site vers la Base de données SQL de Windows Azure (Base de données SQL), vous devez implémenter une stratégie de sauvegarde et de restauration des données afin de vous prémunir contre les erreurs des utilisateurs et de l'application, les pannes de matériel, l'arrêt du centre de données en raison de catastrophes naturelles, et d'autres dommages de la base de données. Contrairement aux déploiements sur site, la Base de données SQL est conçue pour masquer la gestion et les opérations du fichier de base données physique aux administrateurs de la base de données. Notez qu'un serveur de Base de données SQL est un serveur logique qui définit un groupe de bases de données. Les bases de données associées à votre serveur de Base de données SQL peuvent résider sur des ordinateurs physiques distincts dans le centre de données Microsoft. Une base de données logique individuelle peut partager l'espace d'une base de données physique unique avec une autre base de données logique. Dans un environnement Windows Azure multi-locataires, les outils de sauvegarde et de restauration SQL Server traditionnels ne fonctionnent pas.

Auteurs : Kun Cheng, Selcin Turkarslan
Analyseurs : Steve Howard, Adrian Bethune

Protéger votre base de données de la défaillance des serveurs, des dispositifs ou de la connectivité réseau

Chaque instance de Base de données SQL possède trois réplicats résidant sur trois ordinateurs physiques dans le centre de données, un réplica principal et 2 réplicas secondaires. Toutes les lectures et les écritures passent par le réplica principal et toutes les modifications sont répliquées de manière asynchrone sur les réplicas secondaires.

La Base de données SQL utilise un schéma de validation reposant sur un quorum, selon lequel l'écriture doit être terminée sur le réplica principal et sur un réplica secondaire avant de considérer la transaction comme validée. Si le matériel tombe en panne au niveau du réplica principal, la structure de la Base de données SQL détecte la défaillance et bascule sur le réplica secondaire. Par conséquent, il existe aussi au moins deux copies physiques cohérentes au niveau transactionnel de vos données dans un centre de données. Les trois réplicas de chaque instance de Base de données SQL de Windows Azure protègent vos données en cas de défaillance des serveurs, des dispositifs ou de la connectivité réseau. Outre les réplicas redondants, la structure de la Base de données SQL de Windows Azure conserve au moins 14 jours les sauvegardes qui sont effectuées à intervalles de cinq minutes sur toutes les bases de données du centre de données. Ces sauvegardes sont stockées dans le centre de données afin de fournir une protection en cas de défaillance simultanée du matériel et du système, ou de catastrophe naturelle.

L'environnement de Base de données SQL est conçu pour assurer la disponibilité du serveur et l'intégrité de vos données en cas de défaillances matérielles. En cas de basculement, une instance de Base de données SQL peut être inaccessible pendant un court moment. Votre application doit comporter une logique de nouvelle tentative pour gérer ces événements de basculement. Vous pouvez toutefois utiliser la même chaîne de connexion pour rétablir la connexion après le basculement sur le réplica secondaire. Pour plus d'informations sur la façon de gérer les erreurs de perte de connexion, consultez l'article Gestion des connexions dans Base de données SQL Windows Azure dans le Wiki TechNet.

Procédure de protection de votre base de données contre les suppressions et modifications indésirables

Les erreurs de l'utilisateur ou applicatives sont les motifs les plus courants de perte de données ou la corruption pour la plupart des applications logicielles. Un utilisateur peut supprimer par erreur une table ou une application, ou bien soumettre deux fois une transaction. Ces types d'erreurs sont difficilement contrôlables et récupérables. Vous pouvez utiliser les outils suivants pour résoudre ces problèmes :

  • Copier une base de données (outil)

  • Service d'importation/exportation de Base de données SQL

  • Bcp et SQL Server Integration Services

Copier une base de données vous permet de créer une copie de votre base de données soit sur le même serveur, soit sur un serveur différent dans le même centre de données. C'est une opération en ligne, asynchrone et cohérente d'un point de vue transactionnel. S'agissant d'une opération asynchrone, vous pouvez émettre la commande de copie, puis surveiller la progression en interrogeant la vue système sys.dm_database_copies (SQL Database).

Pour copier une instance de Base de données SQL, votre compte de connexion doit être membre du rôle dbmanager au niveau du serveur de destination et être le DBO de la base de données source sur le serveur source. La connexion doit utiliser le même nom et le même mot de passe sur les deux serveurs de Base de données SQL : source et destination. La fréquence de copie de la base de données peut varier et dépend des besoins de votre entreprise. Pour récupérer suite à des erreurs d'utilisateur ou d'application, nous vous recommandons de créer une copie quotidienne et de conserver deux ou trois copies exécutées chacune leur tour en supprimant la copie la plus ancienne de la journée lorsqu'une nouvelle copie est terminée.

Notez que bien que nous recommandions d'effectuer des copies quotidiennes, vous pouvez copier votre base de données plus souvent. Nous vous recommandons de respecter un intervalle d'une heure entre deux copies de bases de données. Chaque copie de base de données, bien qu'exécutée indépendamment de toutes les autres copies de bases de données, génère une copie cohérente d'un point de vue transactionnel à la fin du processus de copie. Chaque copie est prise en compte dans les 150 bases de données maximales autorisées sur chaque serveur de Base de données SQL, et est facturée comme une base de données distincte. Par conséquent, si vous effectuez trop fréquemment des copies, vous risquez de manquer de bases de données dans votre compte et de payer inutilement pour des copies de base de données quasiment identiques à celles déjà effectuées. Pour plus d'informations, consultez la rubrique Copying Databases in SQL Database dans la bibliothèque MSDN de la Base de données SQL.

En plus de la copie de base de données, vous pouvez utiliser le SQL Database Import/Export Service. Ce service vous permet d'importer ou d'exporter à la fois le schéma et les données dans un package avec l'extension .bacpac. La package est dans un format compressé contenant tous les objets compatibles avec la Base de données SQL, comme les tables, les vues, les index, les contraintes, les déclencheurs, les procédures stockées, les connexions, les utilisateurs, etc. Le service peut importer ou exporter directement des fichiers BACPAC entre une instance de Base de données SQL et le stockage Blob de Windows Azure. Vous pouvez accéder au service d'importation/exportation via le portail de gestion de Windows Azure. Si vous souhaitez importer ou exporter directement entre SQL Server sur site et la Base de données SQL sans utiliser le stockage Blob de Windows Azure, utilisez les classes fournies dans l'espace de noms Microsoft.SqlServer.Dac. De la même manière, vous pouvez utiliser DacIESvcCli.exe dans les exemples SQL DAC fournis sur le site CodePlex.

Contrairement à la copie de base de données, le service d'importation/exportation ne produit pas une sauvegarde cohérente d'un point de vue transactionnel. Pour effectuer une sauvegarde, nous vous recommandons de verrouiller votre base de données et d'arrêter les transactions avant d'exporter les données et le schéma.

L'Bulk copy utility (BCP.exe) et les outils SQL Server Integration Services (SSIS) et System.Data.SqlClient.SqlBulkCopy sont similaires au Import/Export Service. Actuellement, la Base de données SQL prend en charge BCP, l'API Bulk Copy et SSIS pour déplacer les données. Vous devez créer des objets de schéma dans la Base de données SQL avant de charger les données. En utilisant BCP ou SSI comme mécanisme de copie en bloc vous pouvez contrôler les objets que vous déplacez d'une base de données et les données que vous déplacez de ces objets. Vous pouvez également spécifier différents paramètres comme la taille du lot, la taille du paquet et le nombre de flux pour optimiser le débit en fonction de la bande passante et de la latence du réseau.

Procédure de protection de votre base de données contre une perte importante des fonctionnalités de centre de données

Pour vous aider à protéger votre environnement contre toute perte de centre de données en cas de sinistre, vous devez créer un emplacement de stockage hors site des sauvegardes de base de données en dehors du centre de données, où l'application de base de données est déployée. Pour cela, nous vous recommandons d'utiliser à la fois la copie de base de données décrite dans la section précédente et le service d'importation/exportation de la Base de données SQL.

Nous vous recommandons d'utiliser les outils suivants pour gérer l'ensemble de votre stratégie de sauvegarde et de restauration.

  • Implémentez une stratégie de sauvegarde et de restauration pour gérer les erreurs des utilisateurs et de l'application en utilisant :

    • Copier une base de données (outil)

    • Service d'importation/exportation de la Base de données SQL

    • Bcp ou SQL Server Integration Services

  • Implémentez une stratégie de sauvegarde et de restauration avancée pour gérer les risques de perte importante des équipements du centre de données, en utilisant :

    • Le service d'importation/exportation pour migrer une copie de base de données sur un ou plusieurs centres de données secondaires et, éventuellement, sur votre propre serveur SQL Server sur site.

Pour plus d'informations sur les options de sauvegarde, de restauration et de récupération d'urgence dans Windows Azure, consultez les articles Business Continuity in Windows Azure SQL Database et Aide de référence technique pour la continuité des activités Windows Azure dans la bibliothèque MSDN.


Date de génération :

2013-10-23
Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft. Tous droits réservés.