Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Raisons de mettre à niveau vers SQL Server 2017

Étant donné que SQL Server 2012 n'est plus pris en charge le 11 juillet 2017 et que SQL Server 2014 ne sera plus pris en charge le 9 juillet 2019, et que SQL Server 2008 et SQL Server 2008 R2 ne bénéficieront plus du support étendu le Le 9 juillet 2019, j'ai eu un nombre croissant de clients qui envisagent de passer de ces anciennes versions de SQL Server à une version plus moderne (2016 ou 2017).

Si vous envisagez une mise à niveau vers une version moderne de SQL Server, devriez-vous passer à SQL Server 2016 ou à SQL Server 2017 ? Mon conseil général serait de préférer fortement SQL Server 2017 dans la plupart des cas, à moins que vous n'ayez une raison valable et tangible de ne pas le faire. Par exemple, si vous avez un logiciel tiers qui n'est explicitement pas pris en charge sur SQL Server 2017, cela pourrait être un blocage (bien que j'essaierais d'en parler à votre fournisseur de logiciels).

Alors pourquoi préférer SQL Server 2017 ? Voici un certain nombre de raisons dans plusieurs catégories différentes.

Nouvelles fonctionnalités du moteur dans SQL Server 2017

Même si une grande partie du travail de développement dans SQL Server 2017 a été consacrée à la création d'une version qui s'exécute sur plusieurs distributions Linux différentes, il existe encore un certain nombre de nouvelles fonctionnalités Engine utiles dans SQL Server 2017.

Une nouvelle fonctionnalité utile est la correction automatique du plan (qui s'appuie sur la fonctionnalité de magasin de requêtes introduite dans SQL Server 2016). Cette fonctionnalité permet de détecter et de corriger automatiquement de nombreux problèmes de stabilité du plan de requête. Ma collègue, Erin Stellato, a écrit sur la correction automatique de plan et son fonctionnement dans SQL Server 2017 Enterprise Edition et Azure SQL Database de manière beaucoup plus détaillée.

Une autre nouvelle fonctionnalité est le traitement adaptatif des requêtes (AQP) (qui est activé avec le mode de compatibilité 140), qui est très utile pour les opérations en mode batch utilisées avec les index Columnstore. AQP a trois composants, qui incluent la rétroaction d'octroi de mémoire adaptative en mode batch, les jointures adaptatives en mode batch et l'exécution entrelacée pour les fonctions à valeur de table à plusieurs instructions.

Il existe également un certain nombre d'améliorations de diagnostic et de dépannage qui facilitent grandement la vie d'un administrateur de base de données ! Celles-ci incluent plusieurs améliorations de Showplan qui sont très utiles pour le réglage des requêtes, ainsi que plusieurs nouvelles DMV utiles pour le dépannage des diagnostics. Query Store est encore plus efficace dans SQL Server 2017 par rapport à SQL Server 2016.

SQL Server 2017 a également apporté plusieurs améliorations « axées sur la communauté », telles que la sauvegarde différentielle intelligente, la sauvegarde intelligente du journal des transactions, l'amélioration des performances de sauvegarde pour les petites bases de données sur des serveurs haut de gamme et l'amélioration des diagnostics et de la surveillance de tempdb.

Améliorations de la réplication

Microsoft a rendu possible la protection d'une base de données de distribution à distance dans un groupe de disponibilité avec SQL Server 2017 CU6. Ils ont également ajouté la possibilité de recharger dynamiquement les paramètres de profil de l'agent de transaction dans SQL Server 2017 CU3. Il est ainsi beaucoup plus facile d'ajuster et de maintenir votre topologie de réplication qu'auparavant.

Assistance Microsoft

Une fois qu'une version majeure de SQL Server n'est plus prise en charge par le grand public, il n'y a plus de Service Packs ni de mises à jour cumulatives. Seules les mises à jour de sécurité sont publiées pendant que la version majeure est en support étendu. Après la fin du support étendu, il n'y a plus de mises à jour du tout, sauf si vous achetez Microsoft Premium Assurance (qui n'est disponible que pour SQL Server 2008 et versions ultérieures).

Une preuve récente de cette politique est le fait que Microsoft ne publiera pas de correctif de sécurité Spectre/Meltdown pour SQL Server 2005. Une fois que le Règlement général sur la protection des données (RGPD) entrera en vigueur le 25 mai 2018, les anciennes versions de SQL Server seront plus vulnérables au fil du temps car ils ne sont plus pris en charge par Microsoft.

SQL Server 2017 sera entièrement pris en charge pendant environ 15 mois de plus que SQL Server 2016. Microsoft a une page avec de nombreuses ressources sur la fin de la prise en charge de SQL Server 2008 et 2008 R2.

Les dates de fin du support standard et étendu pour toutes les versions récentes de SQL Server sont indiquées dans le tableau 1.

Version SQL Server Fin du support grand public Fin du support étendu
SQL Server 2005 12 avril 2011 12 avril 2016
SQL Server 2008
SQL Server 2008 R2
8 juillet 2014 9 juillet 2019
SQL Server 2012 11 juillet 2017 12 juillet 2022
SQL Server 2014 9 juillet 2019 9 juillet 2024
SQL Server 2016 13 juillet 2021 14 juillet 2026
SQL Server 2017 11 octobre 2022 12 octobre 2027

Politique de maintenance Microsoft

Microsoft SQL Server 2017 a été publié le 2 octobre 2017 et jusqu'à présent, six mises à jour cumulatives de SQL Server 2017 ont été publiées. Microsoft a adopté ce qu'ils appellent le «modèle de service moderne» pour SQL Server 2017, ce qui signifie qu'il n'y aura pas de Service Packs pour SQL Server 2017 ou les versions futures.

Au lieu de cela, il y aura des mises à jour cumulatives mensuelles pour la première année, puis des mises à jour cumulatives trimestrielles pour les quatre années suivantes. Cela signifie que les défauts seront corrigés beaucoup plus rapidement au cours de la première année après la sortie. SQL Server 2017 est sorti depuis assez longtemps pour que je le considère assez stable.

Non seulement Microsoft corrige des défauts spécifiques dans les mises à jour cumulatives, mais il publie également de nouvelles fonctionnalités et d'autres améliorations de produits, qui sont souvent axées sur l'amélioration des performances. Voici la liste des mises à jour et améliorations pour SQL Server 2017, à partir de CU6.

SQL Server 2017 CU6

  • Mise à jour pour prendre en charge l'élimination des partitions dans les plans de requête comportant des index spatiaux dans SQL Server 2016 et 2017
  • Amélioration :Activer le mécanisme de "vidange forcée" dans SQL Server 2017 sous Linux

SQL Server 2017 CU5

  • Meilleur dépannage des interblocages de parallélisme intra-requête dans SQL Server 2017
  • Améliore les performances des requêtes lorsqu'un filtre bitmap optimisé est appliqué à un plan de requête dans SQL Server 2016 et 2017

SQL Server 2017 CU4

  • Amélioration :Améliore les performances de SQL Server 2017 sur les petits systèmes

SQL Server 2017 CU3

  • La mise à jour ajoute la prise en charge de l'option MAXDOP pour les instructions CREATE STATISTICS et UPDATE STATISTICS dans SQL Server 2017
  • Améliorer les diagnostics de déversement de tempdb dans DMV et les événements étendus dans SQL Server 2017
  • La mise à jour permet à XML Showplans de fournir une liste des statistiques utilisées lors de l'optimisation des requêtes dans SQL Server 2017.
  • La mise à jour ajoute des statistiques d'exécution d'une fonction définie par l'utilisateur à valeur scalaire au fichier Showplan XML dans SQL Server 2017
  • La mise à jour ajoute des informations d'objectif de ligne d'optimisation dans les plans d'exécution de requête dans SQL Server 2017
  • La mise à jour active la technologie PolyBase dans SQL Server 2016 et 2017
  • La mise à jour ajoute le paramètre de délai d'expiration du processeur au groupe de travail du gouverneur de ressources REQUEST_MAX_CPU_TIME_SEC dans SQL Server 2017

SQL Server 2017 CU2

  • Mise à jour de la procédure de nettoyage manuel du suivi des modifications dans SQL Server 2017
  • Amélioration :améliorations générales du processus de nettoyage du suivi des modifications dans SQL Server 2017
  • La mise à jour ajoute un nouvel événement étendu "marked_transaction_latch_trace" dans SQL Server 2017 sous Linux et Windows
  • Amélioration des performances du filtre intermédiaire spatial dans SQL Server 2017

SQL Server 2017 CU1

  • Mise à jour pour améliorer les performances des vues de gestion dynamique columnstore "column_store_row_groups" et "dm_db_column_store_row_group_physical_stats" dans SQL Server 2016 ou 2017
  • Ajouter la possibilité de désactiver ou d'activer quelques nouvelles DMV et DMF introduites dans SQL Server 2017
  • Amélioration :un nouveau mot clé est ajouté aux instructions CREATE et UPDATE STATISTICS pour conserver le taux d'échantillonnage pour les futures mises à jour des statistiques dans SQL Server

Même si vous pensez peut-être que SQL Server 2017 n'était «qu'un port Linux», il existe en fait de nombreuses améliorations concrètes dans le moteur de base de données de base qui profiteront à toutes les plates-formes. Microsoft continue d'ajouter des fonctionnalités supplémentaires au produit dans les mises à jour cumulatives de SQL Server 2017, et SQL Server 2017 sera entièrement pris en charge par Microsoft pendant une période plus longue que SQL Server 2016.