La sortie de SQL Server 2017 marque un tournant majeur pour Microsoft, puisque SQL Server est maintenant disponible sous Linux. Jusqu’ici, ce n’était pas le cas, et c’était très probablement le dernier rempart à l’adoption de SQL Server dans les entreprises où l’infrastructure logicielle de Linux/Unix est prépondérante.
Il y a bien d’autres éléments qui ont été ajoutés aux fonctionnalités de SQL Server avec ce nouvel opus, que l’on peut télécharger à partir de cette page. Plus bas dans celle-ci, on trouve également les téléchargements de SQL Server Management Studio 2017, SQL Server Data Tools, et les connecteurs pour faire interagir une application avec SQL Server en .NET, Java, mais aussi Python et Ruby.
Notons que depuis SQL Server 2014, l’édition Developer de SQL Server est gratuite, ce qui fait qu’on peut la télécharger sur nos PCs et commencer à bricoler après quelques minutes d’installation, en faisant appel à toutes les possibilités et fonctionnalités du moteur de base de données : l’édition Developer, est, en termes de fonctionnalités, équivalente à l’édition Enterprise, qui les offre toutes.
Voyons donc ce qu’il en est :
A partir de la page, on obtient un petit installeur de 5Mo, et lors de sont exécution, on obtient la fenêtre suivante :
Ici j’ai choisi Download Media, puisque c’est l’option qui me permettra d’installer au besoin, avec seulement les fonctionnalités que je souhaite. Nous obtenons alors l’écran suivant :
Plus besoin donc de se soucier du langage, et on peut télécharger selon son envie et l’OS, soit sous le format ISO, soit en CAB. Un lien nous permet aussi créer une instance SQL Server dans Azure.
Une fois le tout validé, le téléchargement débute … et se termine par :
Un clic sur le bouton Open folder nous amène directement sur le fichier ISO fraîchement téléchargé. A l’exécution de ce dernier, on obtient la fenêtre suivante :
A partir de la page Installation, on peut bien sûr démarrer l’installation d’une instance SQL Server 2017, et ici encore accéder aux pages qui permettent de télécharger la dernière version de SQL Server Management Studio (SSMS) et SQL Server Data Tools (SSDT). Depuis SQL Server 2016, ces outils ne sont en effet plus contenus dans l’installeur de SQL Server : ceci permet à l’installeur de garder une taille relativement raisonnable (1.4 Go), étant donné que l’installeur de SSMS pèse à lui seul près de 800 Mo.
Les différences avec l’installation de SQL Server 2016 sont peu nombreuses, mais valent qu’on s’y arrête : alors que SQL Server 2016 supportait l’apprentissage automatisé avec le langage R, on pouvait installer en plus de SQL Server une instance de R Server. Comme SQL Server 2017 supporte en plus Python pour servir ce même besoin, l’installation de R Server a été remplacée dans ce nouvel opus par un Machine Learning Server :
Les écrans de clé de produit et de licence demeurent inchangés :
Idem pour le calcul des règles d’installation :
Nous voici maintenant à la sélection des fonctionnalités à installer : comme vu précédemment, nous pouvons ajouter les fonctionnalités d’Apprentissage Automatisé, soit en support de script (Machine-Learning Services (In-Database)), soit en instance dédiée (Machine-Learning Services (Standalone)) et choisir d’installer seulement R ou Python. Cocher la case de l’une de ces deux fonctionnalités génère une nouvelle page dans la liste à gauche : Consent to install Microsoft R Server/Python
L’écran de nommage de l’instance reste inchangé :
De même que celui de configuration des services de l’instance :
L’octroi du droit Perform Volume Maintenance Task au compte de service qui exécute SQL Server, introduite avec SQL Server 2016, est toujours bienvenu, et sa description est limpide.
En ce qui concerne la configuration du moteur de base de données, pas de surprise non plus …
… mais on apprécie toujours l’onglet qui permet de configurer plusieurs fichiers pour TempDB, introduite avec SQL Server 2016 :
Comme nous l’avons vu, l’acceptation de la licence pour R Server et Python est requise :
Comme d’habitude, un résumé des éléments qui vont être installés s’affiche, permettant de revoir le tout avant de cliquer sur le bouton Install
Et bien sûr, on peut récupérer l’emplacement du fichier de configuration de cette installation juste en-dessous du résumé, pour le passer en paramètre à une installation scriptée et silencieuse de SQL Server. Il se trouve toujours dans le répertoire C:\Program Files\Microsoft SQL Server\140\Setup Bootstrap\Log\AAAAMMJJ_HHmmss\ConfigurationFile.ini.
L’installation démarre alors, et, si nous avions choisi d’installer les fonctionnalités de Machine-Learning, on observera le téléchargement des éléments nécessaires à celles-ci par l’utilisation de la bande passante réseau/Internet. Une fois terminée, on peut démarrer SQL Server Management Studio 17.2, et obtenir alors :
Il ne nous reste plus qu’à nous amuser avec les nouvelles fonctionnalités de cette version, listées sur cette page, et dont les plus marquantes à mon sens sont :
- Reprise de reconstruction d’index en ligne, ce qui permet de la mettre en pause pour la reprendre plus tard
- Exécution adaptative des requêtes : adaptation de l’algorithme de jointure et feedback sur l’octroi de mémoire à l’exécution d’une requête
- Tuning automatisé : détection et correction automatique de régression de performance pour un plan de requête, et création/suppression de doublons d’index dans Azure
- Ajout du type de données graphe
- Groupes de disponibilité AlwaysOn sans cluster
- Nouvelles DMVs : sys.dm_db_log_stats, sys.dm_tran_version_store_space_usage, sys.dm_db_log_info et sys.dm_db_stats_histogram
- Amélioration du support In-Memory : colonnes calculées, JSON, CASE et CROSS APPLY
- Fonctions de chaîne : CONCAT_WS et TRIM (enfin !)
- Et bien sûr le niveau de compatibilité de base de données 140
Pour voir les fonctionnalités devenues dépréciées, et notamment celles qui ne seront plus supportées dans la prochaine version de SQL Server (2018 ou 2019 ? les paris sont ouverts ! :)), c’est par ici.
Bon SQL Server 2017 Ã tous !