Symptômes
Dans SQL Server 2019 sous Linux, les scripts de processus satellites externes comme R, Python ne peuvent accéder à aucun répertoire en dehors de leur répertoire de travail.
Résolution
Ce problème est résolu dans la mise à jour cumulative suivante pour SQL Server :
À propos des mises à jour cumulatives pour SQL Server :
Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la mise à jour cumulative précédente. Consultez les dernières mises à jour cumulatives pour SQL Server :
Informations complémentaires
Vous pouvez personnaliser les répertoires auxquels les processus externes ont accès en utilisant l’outil mssql-conf pour définir ou annuler la définition du paramètre « datadirectories » dans la section d’extensibilité du fichier de configuration /var/opt/mssql/mssql.conf .
La valeur du paramètre est une liste de répertoires séparés par deux-points qui sera exposée aux scripts satellite. Microsoft SQL Server Launchpad Daemon doit être redémarré lorsque vous définissez ou annulez la définition de ce paramètre.
Les processus satellites s’exécutent en tant qu mssql_satellite utilisateur spécial, de sorte qu’ils héritent des mêmes autorisations de lecture/écriture/exécution dans les répertoires spécifiés dans ce paramètre que celles attribuées à cet utilisateur spécial.
Exemple :
#/bin/bash : /opt/mssql/bin/mssql-conf set extensibility.datadirectories « /opt/mssql/bin :/home/user/rscripts »
Extensibilité de SQL Server Launchpad Daemon doit être redémarré pour pouvoir appliquer ce paramètre. Exécutez « systemctl restart mssql-launchpadd.service ».
Contenu de /var/opt/mssql/mssql.conf
[extensibilité]
datadirectories = /opt/mssql/bin :/var
#/bin/bash : /opt/mssql/bin/mssql-conf unset extensibility.datadirectories
Extensibilité de SQL Server Launchpad Daemon doit être redémarré pour pouvoir appliquer ce paramètre. Veuillez exécuter
'systemctl restart mssql-launchpadd.service'.
Contenu de /var/opt/mssql/mssql.conf
[extensibilité]
État
Elle est conçue par défaut comme telle afin que les processus externes ne puissent pas accéder de manière aléatoire aux répertoires système.
Références
En savoir plus à propos de la terminologie utilisée par Microsoft pour décrire les mises à jour logicielles.