Planifier et tester le plan de mise à niveau du moteur de base de données

S’applique à :SQL Server - Windows uniquement

Pour effectuer une mise à niveau réussie de SQL Server , quelle que soit l’approche, une planification appropriée est nécessaire.

Notes de publication et problèmes de mise à niveau connus

Avant d'effectuer la mise à niveau du Moteur de base de données, consultez :

Liste de vérification pour la planification d’une mise à niveau

Avant la mise à niveau du Moteur de base de données, consultez la liste de vérification suivante et les articles associés. Ces articles s’appliquent à toutes les mises à niveau, quelle que soit la méthode utilisée, et vous aident à déterminer la méthode de mise à niveau la plus appropriée : mise à niveau propagée, mise à niveau de nouvelle installation ou mise à niveau sur place. Par exemple, il se peut que vous ne soyez pas en mesure d’effectuer une mise à niveau sur place ou une mise à niveau propagée si vous mettez à niveau le système d’exploitation, mettez à niveau à partir de SQL Server 2005 ou mettez à niveau à partir d’une version 32 bits de SQL Server. Pour un arbre de décision, voir Choose a Database Engine Upgrade Method.

  • Configurations matérielle et logicielle requises : consultez les configurations matérielle et logicielle requises pour l’installation de SQL Server. Vous les trouverez à l’adresse suivante : Configurations matérielle et logicielle requises pour l’installation de SQL Server. Une partie du cycle de planification de toute mise à niveau consiste à prendre en compte la mise à niveau matérielle (un matériel plus récent est plus rapide et peut réduire le travail de gestion des licences, en raison soit du moindre nombre de processeurs, soit de la consolidation de la base de données et du serveur) et la mise à niveau du système d’exploitation. Ces changements matériels et logiciels affectent le choix de la méthode de mise à niveau.

  • Environnement actuel : examinez votre environnement actuel pour déterminer les composants SQL Server utilisés et les clients qui se connectent à votre environnement.

    • Fournisseurs de clients : bien que la mise à niveau ne nécessite pas de mise à jour du fournisseur pour chacun de vos clients, vous pouvez choisir de la faire. Si vous effectuez la mise à niveau de SQL Server 2014 (12.x) ou version antérieure, les fonctionnalités SQL Server 2016 (13.x) suivantes nécessitent un fournisseur mis à jour pour chaque client ou qu’un fournisseur mis à jour apporte des fonctionnalités supplémentaires :

    • Always Encrypted (moteur de base de données)

    • Stretch Database

      Important

      Stretch Database est déprécié dans SQL Server 2022 (16.x) et Azure SQL Database. Cette fonctionnalité sera supprimée dans une version future de moteur de base de données. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.

    • Écouteurs de groupe de disponibilité, connectivité client et basculement d’application (SQL Server)

    • Mise à jour de sécurité vers TLS

  • Composants tiers : déterminez la compatibilité des composants tiers, comme la sauvegarde intégrée.

  • Environnement cible : vérifiez que votre environnement cible présente les configurations matérielle et logicielle requises, et qu’il peut prendre en charge la configuration du système d’origine. Par exemple, la mise à niveau peut impliquer la consolidation de plusieurs instances SQL Server en une seule instance SQL Server nouvelle, ou la virtualisation de votre environnement SQL Server dans un cloud privé ou public.

  • Édition : déterminez l’édition appropriée de SQL Server pour votre mise à niveau et déterminez les chemins de mise à niveau valides. Pour plus d'informations, consultez Supported Version and Edition Upgrades. Avant toute mise à niveau d'une édition de SQL Server vers une autre, vérifiez que la fonctionnalité en cours d'utilisation est prise en charge dans l'édition vers laquelle vous effectuez la mise à niveau.

    Notes

    Quand vous procédez à une mise à niveau vers SQL Server à partir d’une version antérieure de SQL Server Enterprise Edition, choisissez entre Enterprise Edition : licence par cœur et Enterprise Edition. Ces éditions Enterprise se différencient uniquement par leur mode de licences. Pour plus d’informations, voir Compute Capacity Limits by Edition of SQL Server.

  • Compatibilité descendante : consultez l’article relatif à la compatibilité descendante du moteur de base de données SQL Server pour connaître les changements de comportement entre SQL Server et la version de SQL Server que vous mettez à niveau. Consultez SQL Server Database Engine Backward Compatibility.

  • Assistant Migration de données : exécutez-le pour diagnostiquer les problèmes susceptibles de bloquer le processus de mise à niveau ou qui nécessitent une modification d’applications ou de scripts existants en raison d’un changement cassant.

    Vous pouvez télécharger l’Assistant Migration de données ici.

  • Outil d’analyse de configuration système : exécutez l’Outil d’analyse de configuration système (SCC) SQL Server pour déterminer si le programme d’installation de SQL Server détecte des problèmes bloquants avant la planification de la mise à niveau. Pour plus d'informations, consultez Check Parameters for the System Configuration Checker.

  • Mise à niveau des tables à mémoire optimisée : quand vous mettez à niveau une instance de base de données SQL Server 2014 contenant des tables à mémoire optimisée vers SQL Server 2016, le processus de mise à niveau nécessite plus de temps pour convertir les tables à mémoire optimisée au nouveau format sur disque (et la base de données est hors connexion pendant ces étapes). Le temps nécessaire dépend de la taille des tables mémoire optimisées et de la vitesse du sous-système d’E/S. La mise à niveau nécessite trois tailles d’opérations de données pour les mises à niveau sur place et de nouvelle installation (l’étape 1 n’est pas nécessaire pour une mise à niveau propagée, contrairement aux étapes 2 et 3) :

    1. Exécuter la récupération de base de données à l’aide de l’ancien format sur disque (y compris le chargement dans la mémoire de toutes les données des tables optimisées en mémoire à partir du disque)

    2. Sérialisez les données sur le disque dans le nouveau format sur disque.

    3. Exécuter la récupération de base de données à l’aide du nouveau format (y compris le chargement dans la mémoire de toutes les données des tables optimisées en mémoire à partir du disque)

      Par ailleurs, un espace insuffisant sur le disque pendant ce processus entraîne l’échec de la restauration. Vérifiez que l’espace est suffisant sur le disque pour stocker la base de données existante plus le stockage supplémentaire égal à la taille actuelle des conteneurs dans le groupe de fichiers MEMORY_OPTIMIZED_DATA de la base de données, afin d’effectuer une mise à niveau sur place ou quand vous attachez une base de données SQL Server 2014 à une instance de SQL Server 2016. Utilisez la requête suivante pour déterminer l’espace disque actuellement nécessaire pour le groupe de fichiers MEMORY_OPTIMIZED_DATA ainsi que la quantité d’espace disque disponible nécessaire pour la mise à niveau :

    SELECT CAST(SUM(size) AS FLOAT) * 8 / 1024 / 1024 AS [size in GB]
    FROM sys.database_files
    WHERE data_space_id IN
    (
        SELECT data_space_id
        FROM sys.filegroups
        WHERE type = N'FX'
    );
    

Développer et tester le plan de mise à niveau

La meilleure approche consiste à traiter la mise à niveau comme tout projet informatique. Organisez une équipe de mise à niveau avec les compétences nécessaires pour la mise à niveau : administration de base de données, réseau, extraction, transformation, chargement et autres. L’équipe doit :

  • Choisir la méthode de mise à niveau : consultez Choisir une méthode de mise à niveau du moteur de base de données.

  • Développer un plan de restauration : l’exécution de ce plan vous permet de restaurer votre environnement d’origine en cas de nécessité.

  • Déterminer les critères d’acceptation : vérifiez que la mise à niveau a réussi avant de migrer les utilisateurs vers l’environnement mis à niveau.

  • Tester le plan de mise à niveau : pour tester les performances à l’aide de votre charge de travail réelle, servez-vous de l’utilitaire Microsoft SQL Server Distributed Replay. Celui-ci peut utiliser plusieurs ordinateurs pour relire les données de trace, en simulant une charge de travail stratégique. En effectuant une nouvelle lecture sur un serveur de test avant et après une mise à niveau de SQL Server, vous pouvez mesurer les écarts de performances et rechercher toute incompatibilité entre votre application et la mise à niveau. Pour plus d’informations, consultez SQL Server Distributed Replay et Options de ligne de commande de l’outil d’administration (Distributed Replay Utility).

Étapes suivantes