Mise à niveau des instances en miroir

S'applique à :SQL Server

Caution

Cette fonctionnalité sera supprimée dans une prochaine version de SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité. Pour la haute disponibilité, utilisez plutôt des groupes de disponibilité Always On.

Important

La mise en miroir de bases de données dans SQL Server est une technologie distincte de la mise en miroir de bases de données Microsoft Fabric. La mise en miroir vers Fabric offre de meilleures performances analytiques, la capacité d’unifier votre patrimoine de données avec OneLake dans Fabric et d'accéder librement à vos données au format Delta Parquet.

Avec la mise en miroir vers Microsoft Fabric, vous pouvez répliquer en continu votre patrimoine de données existant directement dans OneLake dans Fabric, notamment les données de SQL Server 2016+, Azure SQL Database, Azure SQL Managed Instance, Cosmos DB, Oracle, Snowflake, etc.

Quand vous mettez à niveau une instance en miroir de SQL Server vers une nouvelle version, vers un nouveau Service Pack ou une nouvelle mise à jour cumulative de SQL Server, ou vers un nouveau Service Pack ou une nouvelle mise à jour cumulative de Windows, vous pouvez réduire le temps d’arrêt de chaque base de données en miroir à un seul basculement manuel en effectuant une mise à niveau propagée (ou deux basculements manuels en cas de restauration automatique vers l’instance principale d’origine). Une mise à niveau progressive est un processus en plusieurs étapes qui, dans sa forme la plus simple, consiste à mettre à niveau l’instance SQL Server faisant actuellement office de serveur miroir dans une session de mise en miroir, puis à effectuer manuellement le basculement de la base de données miroir, à mettre à niveau l’ancienne instance SQL Server principale et à reprendre la mise en miroir. En pratique, le processus exact dépend du mode d'opération, du nombre et de la disposition des sessions de mise en miroir qui s'exécutent sur les instances de SQL Server mises à niveau.

Pour plus d’informations sur l’utilisation de la mise en miroir de base de données avec la copie des journaux de transaction lors d’une migration, téléchargez ce livre blanc sur la mise en miroir de base de données et la copie de journaux de transaction.

Prérequis

Avant de commencer, passez en revue les informations importantes suivantes :

Avant de commencer une mise à niveau propagée, nous recommandons d'effectuer les opérations suivantes :

  1. Effectuez un test de basculement manuel sur au moins une de vos sessions de mise en miroir :

    Remarque

    Pour plus d’informations sur le fonctionnement du basculement manuel, consultez Basculement de rôle durant une session de mise en miroir de bases de données (SQL Server).

  2. Protégez vos données :

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

      Créer une sauvegarde complète de base de données (SQL Server).

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

Étapes d'une mise à niveau propagée

Les étapes spécifiques d'une mise à niveau progressive dépendent du mode de fonctionnement de la configuration de mise en miroir. Toutefois, les étapes de base sont les mêmes.

Remarque

Pour plus d’informations sur les modes d’opération, consultez Modes de fonctionnement de la mise en miroir de bases de données.

L'organigramme suivant illustre les étapes de base d'une mise à niveau propagée pour chaque mode d'opération. Les procédures correspondantes sont décrites après l'illustration.

Organigramme montrant les étapes d’une mise à niveau propagée

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 devrez adapter en conséquence le processus standard de mise à niveau progressive. Pour plus d’informations, consultez Basculement de rôle durant une session de mise en miroir de bases de données (SQL Server).

Remarque

Dans de nombreux cas, une fois la mise à niveau progressive terminée, vous basculerez de nouveau vers le serveur principal d’origine.

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

  1. Si une session de mise en miroir est en mode haute performance, avant d’effectuer une mise à niveau progressive, remplacez le mode de fonctionnement par le mode haute sécurité sans basculement automatique.

    Important

    Si le serveur miroir est géographiquement distant du serveur principal, une mise à niveau propagée peut être inappropriée.

Pour supprimer un témoin d'une session

  1. Si une session de mise en miroir inclut un témoin, nous vous recommandons de retirer le témoin avant d’effectuer une mise à niveau progressive. 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.

Pour effectuer la mise à niveau progressive

  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 fait actuellement office de 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, mettez-la à niveau vers la nouvelle version.

    • Si toutes vos instances de serveur correspondent actuellement au serveur principal dans toutes les sessions de mise en miroir, sélectionnez une instance de serveur à mettre niveau en premier. Ensuite, effectuez manuellement le basculement de chacune de ses bases de données principales, puis mettez à niveau cette instance de serveur.

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

  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 principale du serveur et effectuez manuellement le basculement de 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.

    Restrictions après le basculement sur une instance de serveur mise à niveau.

    Après un basculement à partir d'une instance de serveur antérieure vers une instance de serveur SQL Server mise à niveau, la session de base de données est interrompue. Elle ne peut pas reprendre tant que l'autre serveur partenaire n'a pas été mis à niveau. Toutefois, le serveur principal accepte encore des connexions et autorise l'accès aux données et des modifications sur la base de données principale.

    Remarque

    L'établissement d'une nouvelle session de mise en miroir requiert que toutes les instances de serveur exécutent la même version de SQL Server.

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

  4. Mettez à niveau chaque instance de serveur qui est désormais le serveur miroir dans toutes les sessions de mise en miroir dans lesquelles elle 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 fonctionnera pas tant que le témoin n’aura pas été mis à niveau et réintégré à la session de mise en miroir.

  6. Mettez à niveau chaque instance de serveur restante servant de 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

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

    • Dans SQL Server Management Studio : affectez la valeur Haute performance (asynchrone) à l’option Mode d’opération 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 ALTER DATABASE pour définir la sécurité des transactions sur OFF.

Pour ajouter de nouveau un témoin dans une session de mise en miroir

  1. En mode haute sécurité, rétablissez si nécessaire le serveur témoin pour chaque session de mise en miroir.

    Retourner un témoin

Voir aussi

Effectuer une mise à niveau vers SQL Server 2016 à l’aide de l’Assistant Installation (programme d’installation)
Installer SQL Server 2016 à partir de l’invite de commandes
ALTER DATABASE Mise en miroir de bases de données (Transact-SQL)
BACKUP (Transact-SQL)
Afficher l'état d'une base de données mise en miroir (SQL Server Management Studio)
Mise en miroir de bases de données (SQL Server)
Basculement de rôle durant une session de mise en miroir de bases de données (SQL Server)
Forcer le service dans une session de mise en miroir de bases de données (Transact-SQL)
Démarrer le moniteur de mise en miroir de bases de données (SQL Server Management Studio)
Modes de fonctionnement de la mise en miroir de bases de données