Difficile de passer à côté des annonces qui ont été faites ce 16/11/2016.
Non seulement Microsoft nous gratifie d’un SP1 pour SQL Server 2016 qui fait descendre bien des fonctionnalités de l’édition entreprise vers l’édition standard, voire Express, mais en plus de cela, on nous livre en prime une CTP publique de la prochaine version de SQL Server qui devrait voir la release finale arriver mi 2017 !
Quoi de nef dans cette nouvelle version de SQL Server ? Et bien, dans un premier temps, c’est la première version qui est à la fois disponible sur environnement Windows … ET Linux (et sous MacOS + Docker)! Certes le processus d’installation n’est pas tout a fait le même, mais au final il s’agit bien de la même version !
Le processus d’installation de SQL Server sur Linux fera l’objet d’un article séparé.
L’installation sous Windows diffère peu des version précédentes. SSMS (depuis SQL 2016) et SSDT (depuis SQL 2014) ne sont plus présents sur le média d’installation. Depuis SQL Server 2016 des liens permettent d’ouvrir un navigateur pour télécharger les binaires d’installation.
Autre nouveauté, l’apparition de deux items au niveau de SSIS :
Comme leurs noms le laissent entendre, il est maintenant possible d’effectuer du ScaleOut lors de l’exécution d’un lot SSIS. Le Master se charge de réceptionner les demandes utilisateur et les dispache sur les Workers afin de paralléliser les exécutions. Encore une fois on sent la volonté de toujours proposer plus de performance, quelle que soit la fonctionnalité de SQL Server, soit en ScaleUp, soit en ScaleOut comme ici.
Dans cette CTP1, il y a finalement peu de nouveautés d’un point de vue moteur. Cela peut aisément se comprendre. Porter SQL Server sur Linux a nécessité beaucoup de travail, même si le code de SQL Server, à proprement parlé est identique enter les plateformes.
Un nouvel SQLOS (nommé SOSv2 pour les curieux – quelle imagination !) a été écrit et vient se placer “en dessous” du SQLOS actuel. Le tout est encapsulé dans un nouveau composant, le SQLPAL, pour Platform Abstraction Layer.
Deux photos, issues de la session “SQL Server on Linux, Come Learn What is Happening!” animée par Tobias Ternstrom, Travis Wright et Slava Oks lors du PASS Summit 2016, pour mieux visualiser les changements
Et c’est la toute la magie, car plutôt que de réécrire SQL Server (quelques dizaines de million de lignes de code), introduire cette couche d’abstraction fait que toutes les fonctionnalités de SQL Server seront, ou devront être, by design, valable pour toutes les plateformes …
Oui, devraient être, car pour le moment, certaines fonctionnalités manquent à l’appel, certaines seront très compliquées à implémenter du fait même qu’il n’existe pas d’équivalent Linux aux Sparse Files (FileStreaming).
En creusant un peu , quelques DMO sont apparus
Sans donner la liste exhaustive des nouveautés de la CTP1, car j’imagine que d’ici la RTM à priori prévue pour mi 2017 il devrait y avoir des ajouts, voici quelques points notables.
-
Les nouvelles DMVs/DMFs ci dessus
-
Niveau de compatibilité 140
-
InMemory
-
Amélioration de performance pour des alter table
-
plus de 8 index pour les tables Hekaton
-
Redo exécuté en parallèle pour un RTO plus rapide
-
Case et TOP ( N ) WITH TIES disponible
-
Colonnes LOB pour les Clustered ColumnStore index
-
Scale-Out SSIS comme vu précédemment
La page What’s New in SQL Server vNext devrait évoluer au fil du temps, à surveiller donc.
Happy CTP !
Ping : 2017 une année pour nouveaux projets ? | Christophe LAPORTE – Consultant SQL Server