Mettre à niveau le moteur de base de données

Cette rubrique fournit les informations qui vous aideront à préparer et à comprendre le processus de mise à niveau :

  • Problèmes de mise à niveau connus

  • Tâches précédant la mise à niveau et observations

  • Liens vers les rubriques consacrées aux procédures de mise à niveau du Moteur de base de données.

  • Liens vers les rubriques consacrées aux procédures de migration des bases de données vers SQL Server

  • Remarques sur les clusters de basculement

  • Tâches postérieures à la mise à niveau et observations

Problèmes de mise à niveau connus

Avant de mettre à niveau le Moteur de base de données, consultez Compatibilité descendante du moteur de base de données SQL Server. Pour plus d'informations sur les scénarios de mise à niveau pris en charge et sur les problèmes de mise à niveau connus, consultez Mises à niveau de la version et de l'édition prises en charge. Pour le contenu de compatibilité descendante pour d'autres composants de SQL Server, consultez Compatibilité ascendante.

Important

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.

[!REMARQUE]

Quand vous mettez à niveau vers SQL Server 2012 à 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, consultez Limites de capacité de calcul par l'édition de SQL Server.

Liste de contrôle préalable à la mise à niveau

La mise à niveau vers SQL Server à partir d'une version précédente est prise en charge par le programme d'installation de SQL Server. Vous pouvez également migrer les bases de données à partir de versions précédentes de SQL Server. La migration peut être effectuée à partir d'une instance SQL Server vers une autre instance située vers le même ordinateur ou à partir d'une instance SQL Server vers un autre ordinateur. Les options de migration incluent l'utilisation de l'Assistant Copie de base de données, de la fonctionnalité de sauvegarde et de restauration, ainsi que l'utilisation de l'Assistant Importation et exportation SQL Server Integration Services et des méthodes d'importation et d'exportation en bloc.

Avant d'effectuer la mise à niveau du Moteur de base de données, n'oubliez pas de respecter les consignes suivantes :

Passez en revue les problèmes ci-dessous et apportez les modifications nécessaires, avant d'effectuer la mise à niveau de SQL Server :

  • Lors de la mise à niveau des instances de SQL Server où l'Agent SQL Server est inscrit dans les relations MSX/TSX, mettez à niveau les serveurs cibles avant de mettre à niveau les serveurs maîtres. Si vous mettez à niveau les serveurs maîtres avant les serveurs cibles, l'Agent SQL Server ne sera pas en mesure de se connecter aux instances principales de SQL Server.

  • Lorsque vous procédez à une mise à niveau à partir d'une version 64 bits de SQL Server vers une version 64 bits de SQL Server 2012, vous devez mettre à niveau Analysis Services avant de mettre à niveau le Moteur de base de données.

  • Sauvegardez tous les fichiers de base de données SQL Server de l'instance à mettre à niveau, afin de pouvoir les restaurer, si besoin est.

  • Exécutez les commandes DBCC (Database Console Commands) appropriées sur les bases de données à mettre à niveau afin de vérifier leur cohérence.

  • Estimez l'espace disque requis pour mettre à niveau les composants SQL Server, ainsi que les bases de données utilisateur. Pour connaître l'espace disque requis par les composants SQL Server, consultez Configurations matérielle et logicielle requises pour l'installation de SQL Server 2012.

  • Vérifiez que les bases de données système de SQL Server - master, model, msdb et tempdb - sont configurées pour s'accroître automatiquement et assurez-vous qu'elles disposent pour cela d'un espace disque suffisant.

  • Vérifiez que tous les serveurs de bases de données possèdent des informations d'ouverture de session dans la base de données master. Ce point est particulièrement important pour la restauration d'une base de données, car les informations d'ouverture de session système résident dans la base de données master.

  • Désactivez toutes les procédures stockées de démarrage, car le processus de mise à niveau arrête et démarre les services sur l'instance SQL Server en cours de mise à niveau. Les procédures stockées traitées au moment du démarrage pourraient bloquer le processus de mise à niveau.

  • Désactivez la réplication et vérifiez que le journal des réplications est vide.

  • Quittez toutes les applications, y compris tous les services ayant des dépendances de SQL Server. La mise à niveau peut échouer si les applications locales sont connectées à l'instance en cours de mise à niveau.

  • Si vous utilisez la Mise en miroir de bases de données, consultez Réduire le temps d'indisponibilité des bases de données mises en miroir lors de la mise à niveau d'instances de serveur dans la Documentation en ligne SQL Server.

Mise à niveau du moteur de base de données

Vous pouvez remplacer une installation de SQL Server 2005 ou ultérieur par une mise à niveau de la version. Si une version précédente de SQL Server est détectée lorsque vous exécutez le programme d'installation de SQL Server, tous les fichiers programme de la version précédente de SQL Server sont mis à niveau et toutes les données stockées dans l'instance SQL Server précédente sont conservées. En outre, les versions précédentes de la documentation en ligne de SQL Server demeureront intactes sur l'ordinateur.

AttentionAttention

Lorsque vous effectuerez une mise à niveau vers SQL Server, l'instance SQL Server précédente sera remplacée et n'existera plus sur votre ordinateur. Avant d'opérer la mise à niveau, sauvegardez les bases de données SQL Server et les autres objets associés à l'instance SQL Server précédente.

Vous pouvez mettre à niveau le Moteur de base de données en utilisant l'Assistant Installation de SQL Server.

Niveau de compatibilité des bases de données après une mise à niveau

Les niveaux de compatibilité des bases de données tempdb, model, msdb et Resource sont définis à 110 après la mise à niveau. La base de données système master conserve le niveau de compatibilité qu'elle avait avant la mise à niveau.

Si le niveau de compatibilité d'une base de données utilisateur était à 90 ou 100 avant la mise à niveau, il reste le même après la mise à niveau. Si le niveau de compatibilité était à 80 ou moins avant la mise à niveau, dans la base de données mise à niveau, le niveau de compatibilité est défini à 90, ce qui correspond au niveau de compatibilité le plus bas pris en charge dans SQL Server 2012.

[!REMARQUE]

Les nouvelles bases de données utilisateur héritent du niveau de compatibilité de la base de données model.

Migration des bases de données

Vous pouvez déplacer les bases de données utilisateur vers une instance de SQL Server à l'aide des fonctionnalités de sauvegarde et de restauration ou de détachement et d'attachement de SQL Server. Pour plus d'informations, consultez Copier des bases de données avec la sauvegarde et la restauration ou Attacher et détacher une base de données (SQL Server).

Important

Une base de données dont le nom est identique sur les serveurs source et de destination ne peut pas être déplacée ni copiée. Dans ce cas, elle est signalée par « Existe déjà ».

Pour plus d'informations, consultez Utiliser l'Assistant Copie de base de données.

Après la mise à niveau du moteur de base de données

Après la mise à niveau du Moteur de base de données, effectuez les tâches suivantes :

  • Réinscrivez vos serveurs. Pour plus d'informations sur l'inscription des serveurs, consultez la rubrique Inscrire des serveurs dans la documentation en ligne de SQL Server.

  • Alimentez à nouveau les catalogues de texte intégral pour garantir la cohérence sémantique dans les résultats de la requête.

    SQL Server 2012 installe de nouveaux analyseurs lexicaux pour la recherche en texte intégral et sémantique. Les analyseurs lexicaux sont utilisés au moment de l'indexation et au moment de la requête. Si vous ne reconstruisez pas les catalogues de texte intégral, vos résultats de recherche peuvent être incohérents. Si vous exécutez une requête de texte intégral qui recherche une expression qui est divisée différemment par l'analyseur lexical dans une version précédente de SQL Server et l'analyseur lexical actuel, une ligne ou un document contenant l'expression peut ne pas être extrait. Cela est dû au fait que les expressions indexées ont été divisées à l'aide d'une logique différente de celle de la requête utilise. La solution consiste à réalimenter (reconstruire) les catalogues de texte intégral avec les nouveaux analyseurs lexicaux afin que le temps d'indexation et le comportement de cette requête soient identiques.

    Pour plus d'informations, consultez la rubrique sp_fulltext_catalog (Transact-SQL) dans la documentation en ligne de SQL Server.

  • Exécutez DBCC UPDATEUSAGE sur toutes les bases de données pour corriger les nombres de lignes ou de pages incorrects.

  • Configurez l'installation de SQL Server. Pour réduire la surface d'exposition d'un système, SQL Server installe et active de façon sélective les services et fonctionnalités clés.

  • Validez ou supprimez les indicateurs USE PLAN générés par SQL Server 2005 et appliqués aux requêtes sur les tables partitionnées et les index.

    SQL Server 2012 modifie la manière dont sont traitées les requêtes sur les tables partitionnées et les index. Les requêtes sur les objets partitionnés qui utilisent l'indicateur USE PLAN pour un plan généré par SQL Server 2005 peuvent contenir un plan non utilisable dans SQL Server 2012. Nous recommandons les procédures suivantes après la mise à niveau vers SQL Server 2012.

    Lorsque l'indicateur USE PLAN est spécifié directement dans une requête :

    1. Supprimez l'indicateur USE PLAN de la requête.

    2. Testez la requête.

    3. Si l'optimiseur ne sélectionne pas un plan approprié, réglez la requête, puis envisagez de spécifier l'indicateur USE PLAN avec le plan de requête désiré.

    Lorsque l'indicateur USE PLAN conseil est spécifié dans un repère de plan :

    1. Utilisez la fonction sys.fn_validate_plan_guide pour vérifier la validité du repère de plan. Vous pouvez aussi surveiller les repères de plan non valides en utilisant l'événement Plan Guide Unsuccessful dans SQL Server Profiler.

    2. Si le repère de plan n'est pas valide, abandonnez-le. Si l'optimiseur ne sélectionne pas un plan approprié, réglez la requête, puis envisagez de spécifier l'indicateur USE PLAN avec le plan de requête désiré.

    Un repère de plan non valide n'entraîne pas l'échec d'une requête quand l'indicateur USE PLAN est spécifié dans un repère de plan. À la place, la requête est compilée sans utiliser l'indicateur USE PLAN.

Toutes les bases de données qui étaient marquées comme activées ou désactivées pour le texte intégral avant la mise à niveau conservent ce statut après la mise à niveau. Après la mise à niveau, les catalogues de texte intégral sont automatiquement reconstruits et alimentés pour toutes les bases de données activées pour le texte intégral. Cette opération peut s'avérer gourmande en termes de temps et de ressources. Vous pouvez suspendre temporairement l'opération d'indexation de texte intégral en exécutant l'instruction suivante :

EXEC sp_fulltext_service 'pause_indexing', 1

Pour reprendre l'alimentation de l'index de recherche en texte intégral, exécutez l'instruction suivante :

EXEC sp_fulltext_service 'pause_indexing', 0

Voir aussi

Référence

Mises à niveau de la version et de l'édition prises en charge

Concepts

Utiliser plusieurs versions et instances de SQL Server

Compatibilité ascendante

Mettre à niveau des bases de données répliquées