Procédure : installer un Service Pack sur un système avec un temps mort minimal pour les bases de données mises en miroir

Cette rubrique décrit comment réduire le temps mort pour les bases de données mises en miroir lorsque vous installez des Service Packs et des correctifs. Ce processus implique la mise à niveau séquentielle des instances de MicrosoftSQL Server 2008 qui participent à la mise en miroir de bases de données. Ce type de mise à niveau, appelé mise à niveau propagée, ne réduit le temps mort que pour un seul basculement. Notez que pour les sessions en mode hautes performances dans lesquelles le serveur miroir est géographiquement distant du serveur principal, une mise à niveau propagée peut être inappropriée.

Une mise à niveau propagée est un processus en plusieurs étapes impliquant les différentes étapes suivantes :

  • Protéger vos données.

  • Si la session inclut un témoin, nous vous recommandons de le supprimer. Sinon, lorsque l'instance de serveur miroir est mise à niveau, la disponibilité de la base de données dépend du témoin qui reste connecté à l'instance de serveur principal. Après avoir supprimé un témoin, vous pouvez le mettre à niveau à tout moment pendant le processus de mise à niveau propagée sans risquer un temps mort de la base de données.

    [!REMARQUE]

    Pour plus d'informations, consultez Quorum : effets d'un témoin sur la disponibilité de la base de données.

  • Si une session s'exécute en mode hautes performances, convertissez le mode d'opération en mode haute sécurité.

  • Mettre à niveau chaque instance de serveur impliquée dans la mise en miroir de bases de données. Une mise à niveau propagée implique la mise à niveau de l'instance de serveur qui est actuellement le serveur miroir, le basculement manuel de chacune de ses bases de données mises en miroir et la mise à niveau de l'instance de serveur qui était auparavant le serveur principal (et qui est désormais le nouveau serveur miroir). Vous devrez à ce stade, reprendre la mise en miroir.

    [!REMARQUE]

    Avant de démarrer une mise à niveau propagée, nous vous recommandons d'effectuer un basculement manuel d'essai sur au moins une de vos sessions de mise en miroir.

  • Rétablir si nécessaire le mode hautes performances.

  • Faire revenir le témoin dans la session de mise en miroir, si nécessaire.

Les procédures de ces étapes sont décrites ici.

Important

Une instance de serveur peut remplir différents rôles de mise en miroir (serveur principal, serveur miroir ou témoin) dans des sessions de mise en miroir simultanées. Dans ce cas, vous devez adapter le processus de mise à niveau propagée de base en conséquence. Pour plus d'informations, consultez Sessions de mise en miroir de bases de données.

Pour protéger vos données avant une mise à niveau (meilleure pratique)

  1. Effectuez une sauvegarde complète de chaque base de données principale.

    Pour sauvegarder une base de données

  2. Exécutez la commande DBCC CHECKDB sur chaque base de données principale.

Pour supprimer un témoin d'une session

Pour faire passer une session du mode hautes performances en mode haute sécurité

Pour effectuer la mise à niveau propagée

  1. Pour réduire le temps mort, nous vous recommandons d'appliquer la procédure suivante : démarrez la mise à niveau propagée en mettant à jour tout serveur partenaire de mise en miroir qui est actuellement le serveur miroir dans toutes ses sessions de mise en miroir. Vous pourriez devoir mettre à jour plusieurs instances de serveur à ce stade.

    [!REMARQUE]

    Un témoin peut être mis à niveau à tout moment au cours du processus de mise à niveau propagée. Par exemple, si une instance de serveur est un serveur miroir dans la session 1 et un témoin dans la session 2, vous pouvez la mettre à niveau dès maintenant.

    L'instance de serveur à mettre à niveau en premier dépend de la configuration actuelle de vos sessions de mise en miroir, à savoir :

    • Si une instance de serveur est déjà le serveur miroir dans toutes ses sessions de mise en miroir, installez le Service Pack ou le correctif sur cette instance de serveur.

    • Si toutes vos instances de serveur sont actuellement le serveur principal dans toutes les sessions de mise en miroir, sélectionnez une instance de serveur à mettre à niveau en premier. Puis, faites basculer manuellement chacune de ses bases de données principales et mettez à niveau cette instance de serveur en installant le Service Pack ou le correctif.

    Après sa mise à niveau, une instance de serveur réintègre automatiquement chacune de ses sessions de mise en miroir.

    Pour effectuer un basculement manuel

    Pour des informations sur le fonctionnement du basculement manuel, consultez Basculement manuel.

  2. Attendez la synchronisation de chaque session de mise en miroir dont l'instance de serveur miroir vient d'être mise à niveau. Puis, connectez-vous à l'instance de serveur principal, et basculez manuellement la session. Lors du basculement, l'instance de serveur mise à niveau devient le serveur principal pour cette session, et l'ancien serveur principal devient le serveur miroir.

    Le but de cette étape est de permettre à une autre instance de serveur de devenir le serveur miroir dans chaque session de mise en miroir dans laquelle elle est un serveur partenaire.

  3. Après avoir effectué le basculement, nous vous recommandons d'exécuter la commande DBCC CHECKDB sur la base de données principale.

  4. Installez le Service Pack ou le correctif sur chaque instance de serveur qui est désormais le serveur miroir dans toutes les sessions de mise en miroir dans lesquelles il est un serveur partenaire. Vous pourriez devoir mettre à jour plusieurs serveurs à ce stade.

    Important

    Dans une configuration de mise en miroir complexe, certaines instances de serveur pourraient encore être le serveur principal d'origine dans une ou plusieurs sessions de mise en miroir. Répétez les étapes 2 à 4 pour ces instances de serveur jusqu'à ce que toutes les instances concernées soient mises à niveau.

  5. Reprenez la session de mise en miroir.

    [!REMARQUE]

    Le basculement automatique ne fonctionne pas tant que le témoin n'a pas été mis à niveau.

  6. Installez les Service Packs ou les correctifs sur une instance de serveur restante qui est le témoin dans toutes ses sessions de mise en miroir. Une fois qu'un témoin mis à niveau a réintégré une session de mise en miroir, il est de nouveau possible d'effectuer un basculement automatique. Vous pourriez devoir mettre à jour plusieurs serveurs à ce stade.

Pour rétablir le mode hautes performances d'une session

  • Rétablissez éventuellement le mode hautes performances en appliquant l'une des méthodes suivantes :

    • Dans SQL Server Management Studio : définissez l'option Mode d'opération sur Haute performance (asynchrone) dans la page Mise en miroir de la boîte de dialogue Propriétés de la base de données.

    • Dans Transact-SQL : utilisez l'instruction ALTER DATABASE pour désactiver (OFF) la sécurité des transactions.

Pour réintégrer un témoin dans une session de mise en miroir