Installation, utilisation et limitations de SQL Server 2017 sur Linux
Je n’ai pas bien compris quel était l’intérêt de Microsoft à porter SQL Server sur Linux. Le seul point positif, c’est la vitesse et la simplicité de son installation par rapport à celles proposées par l’installeur Windows.
Ajout des dépôts Microsoft à Linux CentOS
Après avoir installé CentOS et fait la mise à jour (yum update), ajoutez le dépôt fourni par Microsoft pour pouvoir installer SQL Server 2017 sur CentOS :
cd /etc/yum.repos.d/ wget https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo wget https://packages.microsoft.com/config/rhel/7/prod.repo
Installation du moteur SQL Server et de Integration Services
Par défaut, les binaires et les librairies nécessaires au fonctionnement de SQL Server sur Linux s’installent dans /opt/mssql :
yum install mssql-server mssql-tools unixODBC-devel mssql-server-agent mssql-server-is -y
Configuration du moteur SQL Server, de l’agent et de Integration Services
La configuration se fait à l’aide des commandes suivantes :
/opt/mssql/bin/mssql-conf setup /opt/ssis/bin/ssis-conf setup /opt/mssql/bin/mssql-conf set sqlagent.enabled true /opt/mssql/bin/mssql-conf set mssqlis.enabled true
Lancement des services
Contrairement à Windows où le moteur, l’agent et Integration Services mobilisent des services distincts, sous Linux, vous avez besoin de lancer un seul service :
systemctl enable mssql-server systemctl start mssql-server
Répertoires par défaut
Par défaut, les données sont stockées dans le dossier /var/opt/mssql/data ; les journaux d’erreurs dans /var/opt/mssql/log.
Fichiers de configuration
Concernant l’agent et le serveur, le données de configuration sont stockées dans /var/opt/mssql/mssql.conf. Pour Integration Services, il s’agit du fichier /var/opt/ssis/ssis.conf. Pensez à éditer le fichier ssis.conf en modifiant la directive relative à l’envoi de vos données d’utilisation via la télémétrie activée par défaut :
[TELEMETRY] enabled=N
Limitations
Pour l’heure, ni SSRS, ni SSAS ne sont pris en charge sur la version SQL Server pour Linux. Concernant Integration Services, SQL Server Management Studio – qui s’exécute exclusivement sous Windows – ne permet pas la création de plans de maintenance sur Linux. Il ne permet pas non plus de se connecter à Integration Services, ni de créer un catalogue Integration Services.
La seule possibilité est de les faire à partir d’une station Windows dotée de SQL Server Data Tools, puis de les exécuter et/ou de les planifier à l’aide de la commande dtexec exécutée ci-dessous par l’utilisateur root sous Linux :
export PATH=/opt/ssis/bin:$PATH gpasswd -a root ssis dtexec /F fichier_plan_de_maintenance.dtsx /DE "mot_de_passe_de_protection_du_package"