Catégories
SGBD

Fin de support des versions de Microsoft SQL Server

Aussi appelée End of life, la date de fin de vie signifie la fin du support officiel d’un logiciel par son éditeur. Chez Microsoft, les systèmes d’exploitation et les logiciels même d’entreprise ne sont pas inutilisables après la fin de vie décidée par l’entreprise. Ces softwares restent fonctionnels mais ne bénéficient plus de mises à jour pour corriger un problème, ajouter des fonctionnalités ou combler une faille de sécurité. Il n’est donc pas recommandé de poursuivre l’utilisation de tels programmes au sein d’une entreprise, surtout sur des serveurs de production. Si une faille critique venait à être découverte, aucun patch ne serait fourni par Microsoft et votre OS ou logiciel serait donc vulnérable face aux pirates qui essaieront de s’introduire dans votre système via cette brèche.

 

Que faire face au End of life de SQL Server ?

Trois possibilités :

  • Payer pour un support étendu quand celui-ci est proposé
  • Passer sur une version plus récente de MS SQL Server
  • Migrer vers Microsoft Azure

Un update vers une version plus récente est généralement l’option choisie par les entreprises. Nécessitant l’achat d’une licence, ou non si la société bénéficie d’un contrat type Software Assurance, c’est aussi le choix de la simplicité pour rapidement retrouver un environnement de production en bon état de fonctionnement et à la protection garantie.

 

Dates de fin du support général de Microsoft SQL Server

A noter que selon la version du Service Pack installée, la date de fin de support de Microsoft SQL Server diffère. Il est bien évidemment recommandé d’installer le dernier SP disponible, ainsi que les Cumulative Updates (CU) proposées par Microsoft. Les versions RTM sont maintenues très peu de temps, les Service Packs sont indispensables au bon fonctionnement d’un SGBD comme SQL Server.

Version / Fin du support général (mainstream)

  • SQL Server 2000 SP4 : 11 juillet 2002
  • SQL Server 2005 SP4 : 8 avril 2008
  • SQL Server 2008 SP4 : 12 avril 2011
  • SQL Server 2008 R2 SP3 : 8 juillet 2014
  • SQL Server 2012 SP4 : 11 juillet 2017
  • SQL Server 2014 SP3 : 9 juillet 2019
  • SQL Server 2016 SP2 : 13 juillet 2021
  • SQL Server 2017 : 11 octobre 2022
  • SQL Server 2019 : 9 janvier 2025
Catégories
Expert SGBD

SQL Server : réduire et déplacer fichier tempdb.mdf

Microsoft SQL Server travaille avec des bases de données système pour son fonctionnement : master, model, msdbdata et tempdb. Chaque fois avec un fichier .mdf (données) et un .ldf (journal). Et il peut arriver que le fichier tempdb.mdf et/ou templog.ldf prennent une place considérable sur le disque du serveur où est installé le SGBD.

Il ne faut surtout pas supprimer le fichier tempdb.mdf, base de données système essentielle au bon fonctionnement de MSSQLSERVER. On ne peut pas non plus le shrink et encore moins faire un autoshrink sur cette BDD.

Par contre, comme l’indique Microsoft dans sa documentation, on peut déplacer les fichiers tempdb sur un autre disque.

Dans la mesure où la base de données tempdb est recréée à chaque démarrage de l’instance de SQL Server, vous n’avez pas à déplacer physiquement les fichiers de données et les fichiers journaux. Les fichiers sont créés au nouvel emplacement lorsque le service est redémarré à l’étape 3. Tant que le service n’a pas redémarré, tempdb continue à utiliser les fichiers de données et les fichiers journaux situés à l’emplacement existant.

Ainsi, puisqu’on ne peut pas supprimer ce fichier, ce tutoriel explique comment réduire et limiter la taille de tempdb.mdf sur MS SQL Server. Puisqu’on ne peut pas limiter la taille d’une base temp db, on peut la déplacer sur une partition dédiée qui sera limitée en taille.

Cette opération de maintenance n’est pas dénuée de conséquence puisqu’elle impose un redémarrage de l’instance SQLServer (arrêt et démarrage du service principal de l’instance). Il faudra donc réaliser cette action en dehors des heures d’activité dans un environnement de production. Et vu qu’on touche à des éléments du serveur SQL lui-même, il est recommandé de faire une sauvegarde préalable de la VM ou de la machine.

Cette procédure s’applique à toutes les versions de Microsoft SQL Server, de la plus récente 2019 aux plus anciennes. Par contre, cela ne fonctionnera pas sur Azure SQL Database.

 

Réduire et bloquer tempdb.mdf (SQL Server)

1. Ouvrir une console SQL Management Studio et se connecter au serveur de base de données.

2. Vérifier l’emplacement et les noms qui concernent la BDD tempdb :

SELECT name, physical_name AS CurrentLocation 
FROM sys.master_files 
WHERE database_id = DB_ID(N'tempdb'); 
GO

3. Modifier l’emplacement du fichier tempdb avec un Alter Database. Par exemple, on le passe du disque D au disque E pour les données et sur un disque F pour les logs (les préconisations Microsoft sont de séparer ces types de fichiers sur des partitions ou disques à part).

USE master; 
GO 
ALTER DATABASE tempdb 
MODIFY FILE (NAME = tempdev, FILENAME = 'E:\SQLData\tempdb.mdf'); 
GO 
ALTER DATABASE tempdb 
MODIFY FILE (NAME = templog, FILENAME = 'F:\SQLLog\templog.ldf'); 
GO

La réponse va être :

Le fichier "tempdev" a été modifié dans le catalogue système. Le nouveau chemin sera utilisé au prochain démarrage de la base de données.
Le fichier "templog" a été modifié dans le catalogue système. Le nouveau chemin sera utilisé au prochain démarrage de la base de données.

4. Arrêter et redémarrer l’instance de SQL Server.

5. Vérifier que le nouvel emplacement a bien été pris en compte depuis le redémarrage :

SELECT name, physical_name AS CurrentLocation, state_desc 
FROM sys.master_files 
WHERE database_id = DB_ID(N'tempdb');

6. On peut maintenant supprimer les fichiers tempdb.mdf et templog.ldf de leur emplacement d’origine et ainsi récupérer de l’espace disque.

 

Le service ne démarre plus ?

En cas de problème et si le service MSSQLSERVER ou SQLEXPRESS ne démarre plus, voir dans l’Observateur d’événements Windows (eventvwr.msc) où se situe le souci. Cela peut simplement être un problème d’espace disque libre insuffisant.

Evénement 17053 : E:\sqldata\tempdb.mdf : erreur du système d’exploitation 112 (Espace insuffisant sur le disque.).

Evénement 5173 : Un ou plusieurs fichiers ne correspondent pas au fichier primaire de la base de données. Si vous tentez de joindre une base de données, recommencez l’opération avec les fichiers appropriés. S’il s’agit d’une base de données existante, le fichier est peut-être endommagé et doit être restauré à partir d’une sauvegarde.

Catégories
SGBD Windows 7

Windows 7 et SQL Server

Malgré la fin du support prévu début 2020 pour ce système d’exploitation, encore bon nombre de personnes travaillent sur un ordinateur équipé de Windows 7. Microsoft a décidé de forcer le passage à Windows 10 en arrêtant de publier des mises à jour par Windows Update mais la dernière version du système peine à convaincre les entreprises. Trop de mises à jour, trop de changements non désirés, trop gourmand, peu stable… Les arguments ne manquent pas aux DSI pour refuser l’installation de W10 sur leur parc informatique. Cependant, des contraintes apparaissent pour l’installation de nouveaux logiciels complémentaires. Aussi édité par Microsoft, la solution SQL Server n’est désormais plus compatible avec Windows 7. Ce n’est pas juste une histoire de support car Windows 8 premier du nom est bien compatible, malgré l’abandon du support Windows Update.

Ce n’est pas tant pour forcer la migration Windows 7 vers Windows 10 que Microsoft a rendu incompatible W7 avec SQL Server mais plutôt à cause de fonctionnalités absentes dans l’OS sorti en 2009. Du moins, c’est ce que l’entreprise affirme officiellement pour refuser l’installation d’un système de gestion de base de données SQL Server sur l’OS W7 sorti il y a dix ans.

Voici les informations de compatibilité entre les différentes éditions de Microsoft SQL Server et le système d’exploitation Windows 7, l’invincible.

 

Dernière version SQL Server compatible avec Windows 7

Les versions suivantes de Microsoft SQL Server sont compatibles avec Windows 7 :

  • SQL Server 2014
  • SQL Server 2012
  • SQL Server 2008 R2

 

Versions SQL Server incompatibles avec Windows 7

Malheureusement, les versions les plus récentes ne sont plus compatibles avec Windows 7 et il n’y a pas de solution pour contourner ce blocage :

  • SQL Server 2019
  • SQL Server 2017
  • SQL Server 2016

Microsoft ne propose aucune solution de contournement, à part changer le système d’exploitation de l’ordinateur ou de la machine virtuelle pour Windows 10 ou un OS serveur (Windows Server 2016 ou 2019). Ou d’acheter un nouveau PC, évidemment.

Catégories
Expert SGBD

Configuration mémoire (RAM) conseillée pour SQL Server

D’origine, un serveur SQL Server s’installe avec des paramètres par défaut qui ne sont pas vraiment optimisés. Etonnant ? Pas tant que ça. Microsoft s’assure que son logiciel SGBD puisse être installé sur un maximum de configurations matérielles et logicielles. Et pour être compatible avec le plus grand nombre, les optimisations ne sont pas appliquées avec une installation standard par défaut. Il faudra se documenter, avoir de l’expérience, suivre une formation ou demander un audit pour trouver les bons paramètres qui seront adaptés à l’usage du serveur SQL.

Les recommandations suivantes sont assez génériques mais sont applicables à la plupart des situations où une base de données SQL Server est utilisée par un logiciel, en production.

 

Configuration par défaut de Microsoft SQL Server

1. Ouvrir le logiciel Microsoft SQL Server Management Studio (SSMS).

2. Se connecter à un serveur de bases de données, local ou distant.

3. Faire un clic droit sur le nom du serveur puis Propriétés.

4. Cliquer sur la page « Mémoire » pour afficher la configuration actuelle de SQL Server. Par défaut, on retrouve :

  • Mémoire minimale du serveur : 0 Mo
  • Mémoire maximale du serveur : 2147483647 Mo (soit 2To)

 

Recommandations pour gérer la RAM avec SQL Server

A moins d’avoir plus de 2To de RAM sur ce serveur, il n’est pas recommandé de laisser SQL Server prendre toute la RAM possible, ceci au détriment des performances générales du système d’exploitation. Le SGBD va utiliser toute la RAM disponible pour se gaver en mémoire rapide, sans tenir compte des autres usages du serveur. Si la machine est aussi utilisée pour héberger une application métier (comptabilité, ERP, etc), c’est assurément des performances amoindries pour les autres logiciels. Si le serveur SQL est installé sur un poste de travail ou un ordinateur portable, par exemple chez un développeur, un commercial pour des démo ou sur le PC d’un consultant, il est également indispensable de limiter la mémoire maximale consommée par MSSQLSERVER. Deux règles pour définir cette valeur.

Selon la taille des bases de données

Admettons que le serveur SQL n’héberge qu’une seule BDD qui représente un espace disque de 3Go (taille du fichier MDF). Il n’y a pas vraiment d’intérêt que le service SQL Server occupe 7Go de RAM et mette à genou les autres processus actifs de Windows. La recommandation est de limiter la mémoire maximale à la taille de la base. Dans l’exemple d’une base qui pèse 3Go, on limitera donc la mémoire SQL Server à 3Go, ou 3072Mo. Les modifications sont immédiates, pas besoin de redémarrer l’instance, le service ou Windows.

Selon la quantité de RAM du serveur

Autre possibilité, limiter la mémoire du processus sqlserver.exe selon la quantité de mémoire vive du serveur. Si la machine (virtuelle ou physique) dispose de 8Go de RAM et qu’aucun autre rôle n’est attribué à ce serveur (pas d’hébergement d’application, de site web, d’autre rôle serveur), on laissera entre 1 et 2Go de RAM disponible au système d’exploitation Windows. Ainsi, on limitera la mémoire maximale de SQL Server à 6Go (6144Mo) ou 7Go (7168Mo). MSSQL n’est pas à cheval sur les Go et on pourra couper la poire en deux et indiquer 6500Mo.

Bien sûr, si le serveur en question abrite un SQL Server mais également d’autres rôles, il faudra limiter la mémoire en fonction de ces autres usages pour que chacun ait son espace de mémoire, sans perturber le bon fonctionnement des programmes voisins.

Catégories
Expert SGBD

SQL Server : activer les fonctions FullText et FileStream

Les versions les plus récentes de SQL Server supportent la recherche Full-Text (recherche en texte intégral) et le FileStream. Pour simplifier, ces fonctions améliorent les performances du SGBD dans la recherche et en utilisant le cache système de Windows pour le File Stream. Ce tutoriel explique comment activer FULLTEXT et FILESTREAM dans SQL Server. La recherche FullText est l’extraction en texte intégral et extraction sémantique de recherche. FILESTREAM est utile pour le stockage des fichiers dans la base de données.

C’est par exemple le cas des applications Sage 100c à partir de la version 3.00 (2018), Essentials ou Standard.

 

Actifer FullText et Filestream dans Microsoft SQL Server

1. Ouvrir le Gestionnaire de configuration de SQL Server (menu Démarrer, Programmes, Microsoft SQL Server XXXX, Outils de configuration, Gestionnaire de configuration SQL Server).

2. Dans le menu de gauche, cliquer sur Services SQL Server de l’instance à modifier.

3. A droite, double cliquer sur SQL Server (INSTANCE), par défaut SQL Server (MSSQLSERVER) ou SQL Server (SQLEXPRESS).

4. Aller sur l’onglet FILESTREAM et activer les options :

  • Cocher « Activer FILESTREAM pour l’accès Transact-SQL« 
  • Cocher « Activer FILESTREAM pour l’accès d’E/S de fichier« 
  • Laisser le Nom de partage Windows qui est proposé
  • Cocher « Autoriser les clients distants à avoir un accès aux données FILESTREAM« 

5. Ouvrir SQL Management Studio (menu Démarrer, Programmes, Microsoft SQL Server XXXX, SQL Management Studio).

6. Se connecter à l’instance en question.

7. Clic droit sur cette instance, Propriétés.

8. Aller sur la page Avancé.

9. Dans le groupe FILESTREAM, changer le Niveau d’accès FILESTREAM par Accès total activé.

 

Activation de FILESTREAM en ligne de commande

En ligne de commande, en requête TSQL sp_filestream_configure pour activer le FILESTREAM par SQL Management Studio.

EXEC sp_filestream_configure 
@enable_level = 3, 
@share_name = "MSSQLSERVER";
RECONFIGURE

S’il s’agit d’une activation post-installation de Filestream, il faut aussi configurer le niveau d’accès sur l’instance SQL :

EXEC sp_configure 'filestream_access_level', 2;
GO
RECONFIGURE
GO

Où la valeur se définit selon :

  • 0 : FILESTREAM désactivé
  • 1 : FILESTREAM activé pour TSQL
  • 2 : FILESTREAM activé pour TSQL et API Win32
Catégories
Expert SGBD

SQL Server : lister les tables par taille espace disque

Les administrateurs de SGBD doivent souvent gérer des bases de données de plusieurs Go, voire le To. Quand une BDD gonfle de manière exponentielle et sans explication apparente, le plus simple est de regarder quelle table occupe le plus d’espace. Une simple requête nous donnera la réponse, pour éviter d’avoir à vérifier chacune des centaines de tables que peuvent utiliser les applications métier, un ERP ou un logiciel de comptabilité.

Il s’agit ici de voir la taille occupée par les tables de la database au format MSSQL, c’est-à-dire contenues dans le fichier MDF. Le journal (log) de cette DB se trouve quant à lui dans le fichier LDF mais ce n’est pas l’objet de ce guide.

Pour réaliser ce tutoriel, le logiciel gratuit Microsoft SQL Server Management Studio a été utilisé puisqu’il s’agit de l’utilitaire officiel pour gérer un serveur de bases de données Microsoft SQL Server. On peut cependant utiliser un autre programme pour sortir des informations d’une database SQL Server.

 

Requête SQL Server pour lister les tables par taille, nombre de lignes et espace disque occupé

1. Ouvrir le logiciel Microsoft SQL Server Management Studio ou tout autre outil permettant d’exécuter des requêtes sur une base SQL Server.

2. Se connecter avec un compte utilisateur SQL ou par une authentification Windows.

3. Faire un clic droit sur la base de données et choisir Nouvelle requête.

4. Dans le champ vide, taper la requête suivante :

SELECT t.NAME AS TableName, s.Name AS SchemaName, p.rows AS RowCounts,
SUM(a.total_pages) * 8 AS TotalSpaceKB, SUM(a.used_pages) * 8 AS UsedSpaceKB,
(SUM(a.total_pages) - SUM(a.used_pages)) * 8 AS UnusedSpaceKB
FROM sys.tables t
INNER JOIN sys.indexes i ON t.OBJECT_ID = i.object_id
INNER JOIN sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
INNER JOIN sys.allocation_units a ON p.partition_id = a.container_id
LEFT OUTER JOIN sys.schemas s ON t.schema_id = s.schema_id
WHERE t.NAME NOT LIKE 'dt%' AND t.is_ms_shipped = 0 AND i.OBJECT_ID > 255
GROUP BY t.Name, s.Name, p.Rows
ORDER BY UsedSpaceKB DESC

5. Cliquer sur le bouton « Exécuter » pour lancer la recherche.

6. Le résultat s’affiche avec une liste de toutes les tables de la BDD, triées par « UsedSpaceKB » donc l’espace utilisé en KB.

On peut maintenant cibler les recherches pour diminuer la taille de la table la plus volumineuse et ainsi réduire l’espace disque utilisé par le fichier MDF de la base SQL Server.

Catégories
Expert Logiciels SGBD

Migrer un SQL Server Express en Standard ou Enterprise

Ce tutoriel explique comment réaliser un upgrade SQL Server Express (gratuit) vers une édition payante Standard ou Entreprise, même si l’Express ne limite qu’à 32 767 connexions simultanées sur le serveur de bases de données. Bien sûr, il faut disposer d’une licence adaptée et si possible d’un fichier ISO pour l’installation. Cela fonctionne également avec les téléchargements MSDN et MSDNAA pour mettre à niveau une version gratuite de test SQL Express ou Developer en serveur de production.

Ce guide de mise à niveau concerne le logiciel SQL Server dans la même version, par exemple mettre à jour un SQL Server 2016 Express version l’édition SQL Server 2016 Standard ou Enterprise. Convertir SQL Server gratuit en version sous licence payante est possible en seulement quelques minutes, il suffit de disposer du setup d’installation (ISO ou DVD) ainsi que du numéro de série relatif à l’édition achetée.

Utile pour bénéficier du Plan de maintenance (sauvegarde), pour monter un cluster ou pour importer des bases de données supérieures à 10Go (limite de SQLEXPRESS). Ce sera aussi l’occasion de vérifier les dernières mises à jour pour le SGBD, la liste des Service Pack disponibles pour SQL Server se trouve ici.

Dans le cas d’une montée de version, par exemple d’un SQL Express 2014 vers SQL 2016 Standard, il faudra passer par une installation complète de la nouvelle version, en conservant ou pas l’ancienne sur le poste.

 

Mettre à niveau un serveur SQL Express en édition Standard ou Entreprise

1. Sur la machine où est installé le SGBDR SQL Server, insérer le DVD d’installation ou monter le fichier ISO (par exemple la source MSDN fr_sql_server_2016_standard_with_service_pack_1_x64_dvd_9540765.iso) pour laisser faire l’autorun ou exécuter setup.exe.

2. Aller sur le menu Maintenance.

3. Cliquer sur « Mise à niveau d’édition » pour lancer l’assistant d’installation.

4. Renseigner la clé de produit (product key) pour sélectionner l’édition achetée.

5. Vérifier les informations pour conserver la ou les instance(s) SQL. Celles-ci ne seront pas renommées (donc SQLEXPRESS restera SQLEXPRESS même en SQL Server Standard) et les bases seront toujours montées et actives après mise à niveau du serveur de BDD.

6. Vérifier le récapitulatif des opération à effectuer, ici l’action est une « Edition Update » vers l’édition « Standard » avec la liste des fonctionnalités et le nom de l’instance conservée.

7. Après quelques instants, un écran récapitule les étapes de migration avec leur état (succès ou échec).

8. Le serveur SQL est maintenant sous licence, Standard ou Entreprise, et les fonctionnalités complètes sont déverrouillées pour par exemple utiliser le Plan de maintenance SQL afin de programmer des sauvegardes.

Catégories
Expert Logiciels SGBD

SQL Server : supprimer un errorlog volumineux

Comme tout bon programme, le SGBD Microsoft SQL Server garde un historique des actions et des erreurs rencontrées par le serveur de base de données. Ces fichiers nommés ERRORLOG peuvent être très volumineux selon les erreurs archivées. Mais pour faire du ménage ou récupérer de l’espace disque, on peut vouloir supprimer ces gros fichiers. Malheureusement, il n’est pas possible de supprimer tous les fichiers, du moins pas le fichier ERRORLOG en cours d’utilisation. SQL Server empêche de supprimer un fichier ERRORLOG qui est actuellement utilisé par le serveur de BDD.

On peut bien sûr arrêter le service MSSQLSERVER ou redémarrer l’ordinateur mais ce n’est pas une solution dans un environnement de production. Ce tutoriel explique donc comment effacer un très gros fichier ERRORLOG sans arrêt de production de SQL Server.

Remarque : les fichiers errorlogs ne sont pas là par hasard, il convient d’abord de vérifier ce qui remplit cet historique d’erreurs et de corriger les bases, requêtes ou applications qui les génèrent.

 

Supprimer un fichier log ERRORLOG de SQL Server

1. Aller dans le dossier d’installation de Microsoft SQL Server, par défaut un chemin du type C:\Program Files\Microsoft SQL Server

2. Ouvrir le dossier numéro de la version SQL Server, par exemple MSSQL13.MSSQLSERVER pour SQL 2016.

3. Aller ensuite dans MSSQL, Log pour voir quels fichiers pèsent plusieurs Go.

4. Si ce sont des fichiers ERRORLOG.1, ERRORLOG.2, ERRORLOG.3, ERRORLOG.4… qui sont très gros, il suffira de les supprimer (avec ou sans sauvegarde préalable).

Dans le cas où ERRORLOG « tout court » est volumineux, il ne sera possible de le supprimer depuis l’Explorateur qu’à une condition : si on arrête ou redémarre le service « SQL Server (MSSQLSERVER) » depuis les Services Windows. Autre solution, découper le fichier courant ERRORLOG pour que le serveur SQL en crée un nouveau, vide, afin que l’on puisse récupérer les Go inutilement occupés par des logs.

 

Découper un fichier ERRORLOG

1. Ouvrir une connexion de type Administrateur (sa) avec le logiciel Microsoft SQL Server Management Studio ou autre outil pour exécuter des requêtes sur le serveur (pas juste sur une base).

2. Copier / coller / exécuter la requête suivante pour créer un nouveau cycle de logs, c’est-à-dire une rotation pour écrire le journal dans un nouveau fichier error log :

EXEC sp_cycle_errorlog ;
GO

3. Le résultat renvoyé doit être celui-ci : « Exécution de DBCC terminée. Si DBCC vous a adressé des messages d’erreur, contactez l’administrateur système. »

4. Le fichier courant ERRORLOG est passé à une numérotation (ERRORLOG.1) que l’on peut maintenant supprimer en toute sécurité, sans affecter les applications et connexions maintenues sur le serveur SQL et ses bases de données.

Catégories
Expert Linux Logiciels SGBD

Installer SQL Server sur Linux Ubuntu

C’est une grande nouveauté dans le monde des SGBD, à savoir les systèmes de gestion de base de données. Depuis toujours, le système SQL Server ne s’installait que sur des environnements Windows, mais avec la version SQL Server 2017, Microsoft a rendu compatible son célèbre gestionnaire avec les distributions Linux. Une avancée considérable pour héberger des bases de données SQL Server sous Linux, en environnement web, hautement critique et où les OS Windows n’étaient pas les bienvenus.

Si l’installation graphique de SQL Server Windows est assistée mais pas forcément facile à réaliser, télécharger et installer SQL Server sur Linux est même possible en quelques lignes de commande. Ce tutoriel montre comment ajouter un serveur SQL sur la distribution Ubuntu, ici en version 16 LTS.

 

Installer SQL Server sur Ubuntu

1. Ouvrir un Terminal sur le serveur Ubuntu ou une connexion à distance SSH.

2. Importer les clés GPG du repository (dépôt) public de Microsoft :

curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add –

3. Ajouter le repository MSSQLServer pour Ubuntu :

sudo add-apt-repository « $(curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server.list)« 

4. Vérifier les derniers paquets disponibles :

sudo apt-get update

5. Installer le logiciel SQL Server depuis les dépôts officiels :

sudo apt-get install -y mssql-server

6. Cette commande va définir la version à installer et préciser le mot de passe du compte sa :

sudo /opt/mssql/bin/mssql-conf setup

a. Choisir l’édition de SQL Server à installer entre :

  • Evaluation (trial de 180 jours)
  • Développeur (pour les éditeurs de logiciels informatiques)
  • Express (gratuit mais limitée)
  • Web (payant, destinée aux serveurs web)
  • Standard (payant, pour entreprises)
  • Enterprise (payant, pour grandes entreprises)

b. Choisir la langue : Français est l’option 4.

c. Définir un mot de passe administrateur système de SQL Server (compte intégré sa). Un avertissement en rouge sera affiché si le password proposé n’est pas assez complexe (8 caractères avec majuscule, minuscule, chiffre, symbole).

7. Vérifier que le service mssqlserver est bien démarré :

systemctl status mssql-server

Cette commande servira aussi dans l’administration courante de SQLServer pour Linux Ubuntu.

A noter que le port par défaut est le TCP 1433, à ouvrir sur le firewall Ubuntu si iptable ou un autre pare-feu est configuré.

 

Installer les outils d’administration de SQL Server Linux

Si l’installation des outils de gestion SQL Server doivent être installés sans la partie serveur du SGBD, refaire les étapes 1, 2 et 3 de la première partie de ce tutoriel pour ajouter les dépôts sur Ubuntu.

1. Ajouter le repository suivant :

sudo add-apt-repository « $(curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list)« 

2. Lancer un update :

sudo apt-get update

3. Installer unixODBC :

sudo apt-get install -y mssql-tools unixodbc-dev

4. Un écran rose s’ouvre, accepter « oui » le contrat de licence de mssql-tools et de msodbcsql.

5. Pour une utilisation simplifiée des commandes, ajouter cette variable d’environnement PATH :

echo ‘export PATH= »$PATH:/opt/mssql-tools/bin »‘ >> ~/.bash_profile

echo ‘export PATH= »$PATH:/opt/mssql-tools/bin »‘ >> ~/.bashrc

source ~/.bashrc

Ces commandes ne renvoient aucun résultat.

 

Se connecter à SQL Server Linux avec sqlcmd

L’outil en ligne de commande sqlcmd permet de se connecter au serveur SQL local ou distant.

La commande de connexion par défaut de Microsoft est celle-ci :

sqlcmd -S localhost -U SA -P ‘<YourPassword>’

où :

  • -S : nom de SQL Server (localhost = local)
  • -U : username, le nom d’utilisateur (par défaut « sa » a été configuré)
  • -P : password / mot de passe (celui qui a été défini précédemment)

Dans l’exemple d’un serveur SQL local, cela donnerait :

sqlcmd -S localhost -U SA -P M0tDeP@sse

Pour se connecter à un serveur SQL distant :

sqlcmd -S sqlubuntu -U SA -P M0tDeP@sse

 

Créer une base de données en ligne de commande

Après avoir installé le serveur SQL et l’outil de gestion Linux, nous allons créer une base de données pour ensuite effectuer quelques requêtes.

  1. Taper la commande suivante pour créer une BDD au nom de windowsfacile :

CREATE DATABASE windowsfacile

2. Valider la requête avec :

GO

Chaque commande devra être suivie d’une ligne « GO » pour exécuter la requête.

3. Vérifier la création de la base avec cette simple commande qui va renvoyer la liste des BDD montées :

SELECT Name from sys.Databases

GO

4. Le résultat contient les bases par défaut (master, tempdb, model et msdb) ainsi que notre base windowsfacile.

5. Pour quitter l’outil sqlcmd, entrer : quit

 

Se connecter à SQL Server Linux depuis Windows

L’outil de gestion graphique officiel de SQL Server depuis un poste Windows est SQL Server Management Studio (ce tutoriel explique comment l’installer).

1. Ouvrir le logiciel SQL Management Studio (SSMS).

2. Dans la fenêtre de connexion, renseigner l’adresse IP ou nom DNS du serveur SQL Linux, le compte SQL « sa » ainsi que son mot de passe.

3. Notre base de données est bien présente. On peut ainsi exécuter des requêtes, gérer les droits et les utilisateurs sur le serveur SQL hébergé sur Linux Ubuntu, comme si le SGBD était installé sur un OS Windows. SQL Server version 14 correspond à l’édition 2017 (voir les versions).

Catégories
Logiciels SGBD

Service Pack et versions de Microsoft SQL Server

Cet article a pour but de référencer toutes les versions du logiciel de gestion de bases de données Microsoft SQL Server avec à chaque fois les différents Service Pack disponibles ainsi que leurs numéros de build. Ainsi, en se connectant sur un serveur SQL distant, il sera facile de connaître la version du dernier SP installé sur le SGBD rien qu’avec son numéro de build indiqué dans la console graphique SQL Server Management Studio.

Toutes les éditions du logiciel serveur sont concernées par ces packs de mise à jour, à savoir Microsoft SQL Server Standard, Enterprise, Datacenter et même la gratuite Express.

Cet inventaire est un complément de notre liste de téléchargement des derniers Service Packs pour SQL Server qui reprend les informations officielles de Microsoft TechNet, page qui propose aussi les mises à jour cumulatives (CU, Cumulative Updates) pour disposer de correctifs entre deux SP.

Microsoft recommande toujours l’installation des Service Packs pour bénéficier des dernières corrections en termes de sécurité, de fonctionnalités et de stabilité. Depuis janvier 2016, l’éditeur conseille également d’installer les mises à jour Cumulative Updates dès leur disponibilité.

SQL Server 2019

  • SQL Server 2019 RTM « SP0 » : 15.0.2000

SQL Server 2017

  • SQL Server 2017 RTM « SP0 » : version 14.0.1000

SQL Server 2016

  • SQL Server 2016 RTM « SP0 » : version 13.0.1601
  • SQL Server 2016 SP1 : 13.0.4001.0
  • SQL Server 2016 SP2 : 13.0.5026.0

SQL Server 2014

  • SQL Server 2014 RTM « SP0 » : version 12.0.2000.8
  • SQL Server 2014 SP1 : 12.0.4100.1
  • SQL Server 2014 SP2 : 12.0.5000.0
  • SQL Server 2014 SP3 : 12.0.6024.0

SQL Server 2012

  • SQL Server 2012 RTM « SP0 » : version 11.0.2100.60
  • SQL Server 2012 SP1 : 11.0.3000.0
  • SQL Server 2012 SP2 : 11.0.5058.0
  • SQL Server 2012 SP3 : 11.0.6020.0
  • SQL Server 2012 SP4 : 11.0.7001.0

SQL Server 2008 R2

  • SQL Server 2008 R2 RTM « SP0 » : version 10.50.1600.1
  • SQL Server 2008 R2 SP1 : 10.50.2500.0
  • SQL Server 2008 R2 SP2 : 10.50.4000.0
  • SQL Server 2008 R2 SP3 : 10.50.6000.34

SQL Server 2008

  • SQL Server 2008 RTM « SP0 » : version 10.0.1600.22
  • SQL Server 2008 SP1 : 10.0.2531.0
  • SQL Server 2008 SP2 : 10.0.4000.0
  • SQL Server 2008 SP3 : 10.0.5500.0
  • SQL Server 2008 SP4 : 10.0.6000.29

SQL Server 2005

  • SQL Server 2005 RTM « SP0 » : version 9.0.1399.06
  • SQL Server 2005 SP1 : 9.0.1047
  • SQL Server 2005 SP2 : 9.0.3042
  • SQL Server 2005 SP3 : 9.0.4035
  • SQL Server 2005 SP4 : 9.0.5000

SQL Server 2000

  • SQL Server 2000 RTM « SP0 » : version 8.0.194
  • SQL Server 2000 SP1 : 8.0.384
  • SQL Server 2000 SP2 : 8.0.532
  • SQL Server 2000 SP3 : 8.0.760
  • SQL Server 2000 SP4 : 8.0.2039

SQL Server 7.0

  • SQL Server 7.0 RTM « SP0 » : version 7.0.623
  • SQL Server 7.0 SP1 : 7.0.699
  • SQL Server 7.0 SP2 : 7.0.842
  • SQL Server 7.0 SP3 : 7.0.961
  • SQL Server 7.0 SP4 : 7.0.1063
Catégories
Logiciels SGBD Téléchargement

Télécharger les derniers Service Pack pour SQL Server

Il est important de garder à jour son serveur de base de données, surtout si celui-ci contient des données sensibles et est accessible depuis internet, voire est hébergé en cloud (Azure ou autre). Le SGBD Microsoft SQL Server dispose de Service Pack qui englobent toute une série de correctifs à installer en une seule opération. Mais comment savoir si son serveur SQL dispose des dernières mises à jour ? Windows Update ne s’occupe pas de ce produit tiers et les trop nombreuses informations des newsletters SQL Updates peuvent masquer une actualité importante.

Tous les deux ans environ, Microsoft dévoile une nouvelle édition de son logiciel SQL Server (2008, 2008 R2 en 2010, 2012, 2014 et actuellement 2016). Mais la firme américaine ne laisse pas son SGBD sans mise à jour durant deux ans, sans compter le reste de son cycle de vie d’une bonne dizaine d’années. Des Service Pack (SP) sortent de temps en temps pour éviter d’avoir à installer 150 KB et des Cumulative Update (CU) sortent régulièrement pour compacter une série de mises à jour récentes.

Ces Service Pack sont identiques selon l’édition de MS SQL Server : Standard, Enterprise, Datacenter et même la version gratuite Express.

 

Version SQL Server – Service Pack

Ces liens renvoient vers le téléchargement gratuit et officiel des Service Pack sur le site Microsoft, en langue française mais d’autres langages sont disponibles (anglais, espagnol, allemand, etc).

Il n’y a, à ce jour, pas encore de Service Pack pour SQL Server 2017 et 2019.

 

A chaque installation de Service Pack ou de Cumulative Update, le numéro de version SQL est modifié :

 

Voir cette page pour connaitre à quel Service Pack correspond un numéro de version SQL Server. Microsoft centralise les liens vers les dernières mises à jour Service Pack (SP) et Cumulative Update (CU) sur cette page TechNet. Ainsi, c’est l’assurance de toujours avoir la dernière mise à niveau des correctifs disponibles en un seul coup d’oeil.

Les montées en version (par exemple SQL Server 2008 R2 vers 2016) peuvent se faire moyennant l’achat d’une nouvelle licence dans la dernière version disponible. Les abonnés MSDN peuvent en profiter selon leurs droits et les entreprises ayant souscrit à une Software Assurance peuvent également en bénéficier sans surcoût, si ce n’est la main d’oeuvre et peut-être l’ajout de ressources matérielles dans le serveur.

Catégories
Expert Logiciels SGBD

Télécharger et installer SQL Server 2016

La dernière version du logiciel de SGBD Microsoft SQL Server est disponible depuis le 1er juin 2016. Les éditions habituelles sont toujours au menu : Standard, Enterprise, Web, Developer et Express.

SQL Server 2016 est compatible avec les systèmes suivants : Windows 8 et 8.1 en 64bits, Windows 10 x64, Windows Server 2012 / R2 et 2016. Les éditions SQL Server Enterprise et Web ne s’installeront que sur les OS Server. SQL Server 2016 n’est pas compatible avec Windows Server 2008 R2 et antérieur, ni avec Windows 7 (SP1) et il n’y a pas de solution de contournement.

Cette page résume les liens pour télécharger SQL Server 2016 Express (gratuit) ou Standard (évaluation 180 jours), comment installer le serveur et comment se connecter à l’instance de base de données.

 

Télécharger SQL Server 2016 Express (version gratuite)

1. Aller sur cette page : https://www.microsoft.com/fr-FR/download/details.aspx?id=52679

2. Vérifier la langue et cliquer sur Télécharger.

3. Le fichier téléchargé SQLServer2016-SSEI-Expr.exe est un websetup de quelques Mo qui propose une installation classique ou le téléchargement seul du setup complet, par exemple pour l’installer sur un autre ordinateur. Choisir « Télécharger le support » pour obtenir le fichier d’installation hors ligne.

4. Choisir entre Express Core et Express Advanced pour le serveur SQL Express. Le package Advanced sera plus complet.

 

Télécharger SQL Server 2016 (version complète)

1. Se rendre sur cette page pour essayer gratuitement SQL Server 2016 en version Standard : https://www.microsoft.com/fr-fr/evalcenter/evaluate-sql-server-2016

2. Cliquer sur Se connecter avec un LiveID Microsoft.

3. Cliquer sur S’inscrire pour continuer et vérifier les coordonnées du compte.

4. Un setup web se télécharge automatiquement (ou se prend via le bouton dédié) : SQLServer2016-SSEI-Eval.exe

5. En exécutant ce websetup, l’assistant propose d’installer directement le produit SQL Server ou de le télécharger en vue d’une installation ultérieure ou sur un autre poste. Dans le second cas, choisir entre ISO et CAB, le fichier ISO étant plus standard.

L’utilisation d’une clé de produit passera le serveur de démo en version définitive sous licence.

 

Installer SQL Server 2016

1. Monter l’ISO ou exécuter le fichier exe.

2. Dans le Centre d’installation SQL Server, au menu Installation, cliquer sur « Nouvelle installation autonome SQL Server » :

3. Renseigner la clé de produit (numéro de série) pour une version complète Standard ou Entreprise ou choisir une édition « évaluation » ou gratuite « Express » (concerne uniquement la trial 180 jours, l’Express s’installe sans poser cette question).

4. Accepter les termes du contrat de licence.

5. Pour télécharger les derniers correctifs SQL Server, cocher la ligne « Utiliser Microsoft Update pour rechercher les mises à jour » :

6. Choisir les fonctionnalités à installer :

  • Services Moteur de base de données : le serveur SQL (indispensable)
  • Réplication SQL Server : seulement pour monter un cluster, sinon ne pas cocher
  • Connectivité des outils clients : pour la gestion depuis un autre poste, via Management Studio
  • Compatibilité descendante des outils clients : pour autoriser la gestion à distance par les logiciels Management Studio en version inférieure à 2016

7. Sur le même écran, indiquer où installer le programme SQL Server et où placer l’instance SQL.

8. Donner un nom à l’instance, par défaut MSSQLSERVER ou SQLEXPRESS.

9. Si nécessaire, modifier les Comptes de service.

10. Le Mode d’authentification est par défaut uniquement en Authentification Windows (pas de gestion des comptes dans SQL Server). Pour gérer des comptes SQL, activer le Mode mixte et donner un mot de passe au compte sa (admin ou root). Dans les deux cas (authentification Windows et mixte), la connexion avec login Active Directory sera possible.

11. Sur la même fenêtre, à l’onglet Répertoires de données, vérifier ou modifier les dossiers de stockage des bases de données MDF et des journaux LDF (DATA) et des sauvegardes (BACKUP).

12. Confirmer le début de l’installation du logiciel SQL Server 2016.

 

A noter que par défaut, le TCP/IP est activé dans les Protocoles pour l’instance SQL et que le port IPAll est le 1433. Ces options se modifient dans le Gestionnaire de configuration SQL Server 2016.

Autre remarque, le logiciel de gestion SQL Server Management Studio n’est plus fourni avec le serveur, il faut l’installer à part (sur le serveur lui-même ou sur un poste du réseau pour la gestion à distance.

 

Télécharger SQL Server 2016 Management Studio

Cette partie est détaillée dans l’article « Télécharger SQL Server Management Studio 2016 » .

1. Aller sur la page : https://msdn.microsoft.com/fr-fr/library/mt238290.aspx

2. Cliquer sur « Télécharger SQL Server Management Studio (SSMS) » pour télécharger la dernière version du programme.

3. Exécuter le fichier SSMS-Setup-FRA.exe téléchargé et Installer (aucune option n’est disponible, pas même l’emplacement de l’installation). Ce programme existe uniquement en architecture 64bits.

 

Se connecter au serveur SQL 2016

1. Ouvrir le logiciel Microsoft SQL Server Management Studio.

2. Renseigner les informations de connexion au serveur SQL, indiquées lors de l’installation : nom du serveur, type d’authentification, identifiant de connexion et mot de passe.

Catégories
Logiciels SGBD Téléchargement

Télécharger SQL Server Management Studio 2016

Pour gérer un serveur de base de données Microsoft SQL Server depuis un autre poste, il faut utiliser le logiciel SQL Server Management Studio. Avec l’édition 2016 de son SGBD, il convient d’installer la dernière version de SSMS pour bénéficier d’une prise en charge complète des fonctionnalités les plus récentes.

SQL Server Management Studio version 2016 peut pleinement gérer les versions SQL Server 2008, 2008 R2, 2012, 2014 et 2016. SSMS 2016 pourra aussi se connecter sur SQL Server 2000 et 2005 mais toutes les fonctionnalités ne seront pas disponibles. Il est cependant possible d’installer SQL Management Studio 2016 en parallèle d’une autre version plus ancienne, sur le même poste.

Ce logiciel SQL Server Management Studio 2016 est compatible avec les workstations Windows 7 (SP1), 8, 8.1 et 10 ainsi que les systèmes serveurs Windows Server 2008 R2, 2012 / R2 et 2016.

Si le serveur SQL est soumis à licence, le logiciel Management Studio est proposé gratuitement par Microsoft et permet de se connecter sur SQL Server Standard, Enterprise mais également la version gratuite Express.

S’il était plus simple auparavant de trouver cet outil sur le site Microsoft, la dernière version est moins explicite à dégoter.

 

Télécharger SQL Server 2016 Management Studio (SSMS)

1. Aller sur la page : https://msdn.microsoft.com/fr-fr/library/mt238290.aspx

2. Cliquer sur « Télécharger SQL Server Management Studio (SSMS) » pour recevoir le programme SQL Server Management Studio version 2016.

 

Installer SQL Server 2016 Management Studio

1. Le fichier SSMS-Setup-FRA.exe correspond à Microsoft SQL Server Management Studio 2016. Il s’agit d’une version offline donc ne nécessite pas d’accès à internet pour l’installer.

Pas d’option à configurer, un seul bouton « Installer » qui va lancer l’opération et ajouter .NET Framework 4.6.1 si nécessaire.

2. Quelques minutes plus tard, le programme Management Studio est installé.

 

Utiliser SQL Server 2016 Management Studio

1. Ouvrir le programme Microsoft SQL Server Management Studio et renseigner les informations de connexion au serveur de base de données.

2. Par défaut sont activées les mises à jour automatiques du programme. Il est possible de désactiver cette fonction mais il est conseillé d’avoir la version de Management Studio équivalente à celle du serveur distant SQL Server.

Catégories
Expert Logiciels SGBD

Activer les Plans de maintenance de SQL Server (erreur Agent XPs)

Après l’installation d’un serveur de production SQL Server 2014 en version Standard ou Enterprise (Express n’est pas concernée), il est logique de vouloir activer les sauvegardes automatiques par les Plans de maintenance SQL. Seulement, une erreur apparait en voulant créer un nouveau plan de maintenance concernant un Agent XPs. Ce tutoriel explique comment résoudre cette erreur et pouvoir configurer des tâches dans SQL Server.

 

Message d’erreur

Le composant « Agent XPs » est désactivé en raison des paramètres de sécurité définis pour ce serveur. Un administrateur système peut définir l’utilisation du composant « Agent XPs » au moyen de sp_configure. Pour plus d’informations sur l’activation du composant « Agent XPs », voir « Configuration de la surface d’exposition » dans la documentation en ligne de SQL Server. (ObjectExplorer).

 

Cause

L’agent SQL Server doit être désactivé.

 

Résolution

1. Exécuter cette requête pour activer l’Agent XPs.

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Agent XPs', 1;
GO
RECONFIGURE
GO

2. Le résultat est :

L’option de configuration ‘show advanced options’ est passée de 0 à 1. Pour installer, exécutez l’instruction RECONFIGURE.
L’option de configuration ‘Agent XPs’ est passée de 0 à 1. Pour installer, exécutez l’instruction RECONFIGURE.

3. Les Plans de maintenance et autres fonctions sont maintenant opérationnelles puisque l’Agent SQL Server est démarré.

Catégories
Logiciels SGBD Windows 8 Windows 8.1

Où est passé le Gestionnaire de configuration SQL Server

Dans l’exemple d’un SQL Server installé sur Windows 8 et 8.1, le Gestionnaire de configuration SQL Server n’apparait pas dans la liste des programmes. En cause, l’application a été remplacé par un composant logiciel enfichable (MMC).

 

Retrouver le Gestionnaire de configuration SQL Server

1. Depuis l’écran d’accueil de Windows 8 ou 8.1, faire une recherche de fichier selon la version du serveur SQL installée :

  • SQLServerManager10.msc pour SQL Server 2008 ou 2008 R2
  • SQLServerManager11.msc pour SQL Server 2012
  • SQLServerManager12.msc pour SQL Server 2014

Version Express, Standard ou Enterprise, le composant garde le même nom.

2. Le Gestionnaire de configuration SQL Server (ou SQL Server Configuration Manager) s’ouvre et la suite des opérations est classique.

Remarque : SQLServerManagerXX.msc existe aussi sur Windows 10 mais le « Gestionnaire de configuration SQL » existe en tant que programme donc il est inutile d’ouvrir le composant par la console système.

Catégories
Logiciels SGBD Téléchargement

Télécharger le Service Pack 1 de SQL Server 2014

Lorsque l’on a un serveur de base de données, il est important d’appliquer les mises à jour importantes du logiciel de SGBDR. Dans le cas de la dernière version du serveur SQL de Microsoft, à savoir SQL Server 2014, le premier (et dernier en date) Service Pack disponible est le SP1.

Le Service Pack 1 pour SQL Server 2014 est disponible au téléchargement direct (fichier .exe) ou via les mises à jour facultatives de Windows Update.

SQL Server 2014 version RTM / SP0 a pour numéro de version 12.0.2000 tandis que la version SP1 est 12.0.4100.

 

Télécharger le SP1 de SQL Server 2014

1. Aller sur la page officielle de téléchargement :
https://www.microsoft.com/fr-FR/download/details.aspx?id=46694

2. Vérifier la langue (ici Français) et cliquer sur Télécharger.

3. Choisir entre le SP1 au format 64bits ou 32bits :

  • SQLServer2014SP1-KB3058865-x64-FRA.exe
  • SQLServer2014SP1-KB3058865-x86-FRA.exe

4. Cliquer sur Next pour démarrer le téléchargement.

 

Installer le SP1 de SQL Server 2014

1. Fermer les connexions existantes sur les bases de données du serveur SQL.

2. Exécuter le fichier téléchargé qui va se décompresser dans un dossier temporaire à la racine du disque dur.

3. Accepter les termes du contrat de licence.

4. Choisir les composants à mettre à jour : laisser les cases cochées pour mettre à jour tous les composants installés.

5. Laisser faire la vérification et continuer par Suivant.

6. Le résumé de l’installation affiche les versions et composants à updater : cliquer sur Mise à jour pour démarrer l’opération.

7. La mise à jour dure quelques minutes avant d’afficher confirmation de l’installation.

8. Il n’est pas nécessaire de redémarrer le serveur ni le service MSSQLSERVER pour valider l’application du patch correctif.