Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :SQL Server - Windows uniquement
Dans SQL Server 2016 (13.x) et versions ultérieures, certaines modifications sont activées uniquement une fois que le niveau de compatibilité de la base de données a changé. Cette opération a été effectuée pour plusieurs raisons :
Étant donné que la mise à niveau est une opération unidirectionnelle (il est impossible de faire passer le format de fichier à une version antérieure), le fait de séparer l’activation de nouvelles fonctionnalités pour en faire une opération distincte dans la base de données peut être intéressant. Il est possible de rétablir un paramètre à un niveau de compatibilité de base de données antérieur. Le nouveau modèle réduit le nombre d’éléments devant se produire lors de l’interruption d’une fenêtre.
Les modifications apportées au processeur de requêtes peuvent avoir des effets complexes. Même si une modification « bonne » du système peut être idéale pour la plupart des charges de travail, elle peut entraîner une régression inacceptable sur une requête importante pour d’autres personnes. La séparation de cette logique du processus de mise à niveau permet des fonctionnalités, telles que le Magasin des requêtes, d’atténuer rapidement les régressions de choix de plan ou même de les éviter complètement dans les serveurs de production.
Les comportements suivants sont attendus pour SQL Server 2017 (14.x) lorsqu’une base de données est attachée ou restaurée, et après une mise à niveau sur place :
- Si le niveau de compatibilité d'une base de données utilisateur est à 100 ou supérieur avant la mise à niveau, il reste le même après la mise à niveau.
- Si le niveau de compatibilité d’une base de données utilisateur était à 90 avant la mise à niveau, dans la base de données mise à niveau, le niveau de compatibilité est défini à 100, ce qui correspond au niveau de compatibilité le plus bas pris en charge dans SQL Server 2017 (14.x).
- Les niveaux de compatibilité des bases de données
tempdb
,model
,msdb
etResource
sont définis sur le niveau de compatibilité actuel 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.
Le processus de mise à niveau permettant d’activer la nouvelle fonctionnalité du processeur de requêtes concerne le modèle de maintenance post-lancement du produit. Certains de ces correctifs sont publiés sous l’indicateur de trace 4199. Les clients ayant besoin de correctifs peuvent les accepter sans provoquer de régressions inattendues pour d’autres clients. Le modèle de maintenance post-lancement des correctifs logiciels du processeur de requêtes est documenté ici. À compter de SQL Server 2016 (13.x), le passage à un nouveau niveau de compatibilité rend l’indicateur de trace 4199 inutile, car ces correctifs sont maintenant activés par défaut dans le niveau de compatibilité le plus récent. Par conséquent, dans le cadre du processus de mise à niveau, il est important de vérifier que 4199 n’est pas activé une fois le processus de mise à niveau terminé.
Notes
L’indicateur de trace 4199 est néanmoins toujours nécessaire pour activer les nouveaux correctifs du processeur de requêtes publiés après la version RTM, le cas échéant.
Pour plus d’informations sur le flux de travail recommandé pour mettre à niveau le processeur de requêtes vers la dernière version du code, consultez Conserver la stabilité des performances pendant la mise à niveau vers une section SQL Server plus récente des scénarios d’utilisation du Magasin des requêtes.
À compter de SQL Server Management Studio 18, les utilisateurs peuvent être guidés dans le flux de travail recommandé à l’aide de l’Assistant Paramétrage des requêtes. Pour plus d’informations, consultez Mettre à niveau les bases de données à l’aide de l’Assistant Paramétrage des requêtes.