Partager via


Réalisation d'une mise à jour propagée d'une base de données partagée évolutive

Si vous utilisez des jeux de volumes de rapports différents pour la mise à jour d'une configuration de base de données partagée évolutive, vous pouvez mettre à jour la base de données au moyen d'une mise à jour propagée ou d'une mise à jour synchronisée. Si vous pouvez tolérer que les clients reçoivent temporairement des résultats différents sur des instances de serveurs différentes au cours de la mise à niveau, une mise à jour propagée est appropriée.

Lors d'une mise à jour propagée, la mise à jour est finalisée sur un serveur de rapports à la fois. Dans l'intervalle qui s'écoule entre la première et la dernière mise à niveau, les versions obsolète et nouvelle de la base de données sont utilisables par les clients sur une ou plusieurs instances de serveurs. Une mise à jour propagée est généralement effectuée le plus rapidement possible, pour minimiser la période de chevauchement des deux versions.

La figure ci-dessous illustre une mise à jour propagée.

Mise à niveau propagée d'une base de données partagée évolutive

  1. Lorsque le volume A est monté sur tous les serveurs et que la base de données de rapports est attachée aux instances de serveur, la base de données de rapports est reconstruite sur le volume B.

  2. Détachez la base de données sur le volume A à partir de l'instance de serveur sur le premier serveur de rapports et démontez le volume A. Montez aussitôt le volume B sur le premier serveur de rapports et attachez la base de données de rapports actualisée à l'instance de serveur.

  3. Détachez la base de données sur le volume A à partir de l'instance de serveur sur le deuxième serveur de rapports et démontez le volume A. Montez aussitôt le volume B sur le deuxième serveur de rapports et attachez la base de données de rapports actualisée à l'instance de serveur.

  4. Détachez la base de données sur le volume A à partir de l'instance de serveur sur le troisième serveur de rapports et démontez le volume A. Montez aussitôt le volume B sur le troisième serveur de rapports et attachez la base de données de rapports actualisée à l'instance de serveur.

  5. Lorsque le volume B est monté et que la base de données actualisée est disponible en tant que base de données partagée évolutive sur tous les serveurs de rapports, exécutez la version de la base de données de rapports sur le volume A.

Selon les besoins de votre entreprise, une mise à jour propagée peut être d'une durée indéterminée pour permettre aux requêtes en cours de se terminer ou elle peut avoir lieu dans une plage horaire limitée.

Mises à jour propagées à durée indéterminée

Dans cette stratégie, une mise à jour propagée permet à l'administrateur de base de données d'attendre que les requêtes de longue durée se terminent sur un serveur de rapports, tout en actualisant la base de données sur un autre serveur de rapports. Cette stratégie répond aux besoins d'entreprise suivants :

  • Les serveurs de rapports n'ont pas besoin d'être synchronisés, c'est-à-dire que les versions obsolète et actualisée de la base de données peuvent coexister temporairement sur différents serveurs de rapports.

  • Vous disposez d'une plage horaire illimitée pour accomplir la mise à jour ou votre délai est moins important que la préservation des requêtes en cours d'exécution.

Pour effectuer ce type de mise à jour propagée, procédez comme suit sur chaque serveur de rapports :

  1. Commencez la phase d'attachement de la base de données actualisée en montant l'ensemble auxiliaire de volumes contenant la base de données actualisée sur le serveur de rapports.

    [!REMARQUE]

    Même pour une mise à jour propagée, vous pouvez effectuer cette étape sur tous les serveurs de rapports avant de passer à l'étape suivante.

  2. Préservez toutes les requêtes en cours en arrêtant l'activité d'E/S sur le volume de rapports d'origine. Si une requête de longue durée retarde la mise à jour sur une instance de serveur particulière, attendez qu'elle se termine. Une fois toutes les requêtes terminées sur l'instance de serveur, effectuez la phase de détachement sur ce serveur.

  3. Attachez la base de données de rapports actualisée à l'instance de serveur afin de la mettre à disposition en tant que base de données partagée évolutive pour les requêtes de rapports.

Répétez ces étapes sur chaque serveur de rapports.

Mise à jour propagée des serveurs de rapports (exécution rapide)

Dans cette stratégie, une mise à jour propagée permet à l'administrateur de base de données d'empêcher toute interruption du service de rapports en permettant à la version obsolète de la base de données de rester brièvement disponible pour les nouvelles requêtes sur certains serveurs de rapports, tout en mettant à jour la base de données sur un autre serveur de rapports. Cette stratégie répond aux besoins d'entreprise suivants :

  • Les serveurs de rapports n'ont pas besoin d'être synchronisés, c'est-à-dire que les versions obsolète et actualisée de la base de données peuvent coexister temporairement sur différents serveurs de rapports.

  • Vous devez effectuer la mise à jour aussi rapidement que possible pour respecter un délai plus important que la préservation des requêtes en cours d'exécution.

Pour effectuer une mise à jour propagée limitée dans le temps, procédez comme suit sur un seul serveur de rapports à la fois :

  1. Commencez la phase d'attachement de la base de données actualisée en montant l'ensemble auxiliaire de volumes contenant la base de données actualisée sur le serveur de rapports.

    [!REMARQUE]

    Même pour une mise à jour propagée, vous pouvez effectuer cette étape sur tous les serveurs de rapports avant de passer à l'étape suivante.

  2. Arrêtez l'activité d'E/S sur le volume de rapports et attendez éventuellement que des requêtes courtes se terminent sur une instance de serveur avant de détacher sa base de données de rapports.

  3. Effectuez la phase de détachement sur ce serveur.

  4. Attachez la base de données de rapports actualisée disponible afin de la mettre à disposition en tant que base de données partagée évolutive pour la création de rapports. Les requêtes exécutées sur la copie actualisée de la base de données peuvent générer des résultats différents de ceux de requêtes exécutées sur les copies obsolètes restantes de la base de données de rapports.

Une telle mise à jour propagée garantit la continuité des capacités globales de création de rapports. Cela vous permet de tolérer des transactions de durées relativement longues sur certaines instances de serveur. Toutefois, étant donné la plage horaire limitée de la mise à jour de toutes les bases de données de rapports, si une requête de longue durée retarde de manière significative la mise à jour sur une instance de serveur, vous devez mettre un terme à cette requête. La requête peut être réexécutée sur la même instance de serveur, une fois sa base de données de rapports actualisée, ou la requête peut être relancée plus tôt sur un serveur déjà mis à jour.