Objawy
W SQL Server 2019 w systemie Linux zewnętrzne skrypty przetwarzania satelitarnego, takie jak R, Python, nie mogą uzyskać dostępu do żadnych katalogów poza katalogiem roboczym.
Rozwiązanie
Ten problem został rozwiązany w następującej aktualizacji zbiorczej dla programu SQL Server:
Informacje o aktualizacjach zbiorczych dla programu SQL Server:
Każda nowa aktualizacja zbiorcza programu SQL Server zawiera wszystkie poprawki i poprawki zabezpieczeń, które zostały uwzględnione w poprzedniej aktualizacji skumulowanej. Sprawdź najnowsze aktualizacje zbiorcze dla programu SQL Server:
Więcej informacji
Katalogi, do których procesy zewnętrzne mają dostęp, można dostosować przy użyciu narzędzia mssql-conf w celu ustawienia lub usunięcia ustawienia "katalogów danych" w sekcji rozszerzalności pliku konfiguracyjnego /var/opt/mssql/mssql.conf .
Wartością ustawienia jest rozdzielona dwukropkami lista katalogów, która będzie wystawiona na działanie skryptów satelitarnych. Po skonfigurowaniu lub usunięciu ustawienia należy ponownie uruchomić demona Launchpad programu Microsoft SQL Server.
Procesy satelitarne są uruchamiane mssql_satellite użytkownika specjalnego, więc dziedziczą te same uprawnienia odczytu/zapisu/wykonania do katalogów określonych w tym ustawieniu, jakie są nadane temu użytkownikowi specjalnemu.
Przykład:
#/bin/bash: /opt/mssql/bin/mssql-conf set extensibility.datadirectories "/opt/mssql/bin:/home/user/rscripts"
Aby zastosować to ustawienie, należy ponownie uruchomić program SQL Server Extensibility Launchpad. Uruchom polecenie "systemctl restart mssql-launchpadd.service".
Zawartość pliku /var/opt/mssql/mssql.conf
[rozszerzalność]
DataDirectories = /opt/mssql/bin:/var
#/bin/bash: /opt/mssql/bin/mssql-conf unset extensibility.datadirectories
Aby zastosować to ustawienie, należy ponownie uruchomić program SQL Server Extensibility Launchpad. Uruchom
'systemctl restart mssql-launchpadd.service'.
Zawartość pliku /var/opt/mssql/mssql.conf
[rozszerzalność]
Stan
Jest to domyślnie zaprojektowane w taki sposób, aby procesy zewnętrzne nie mogły losowo uzyskiwać dostępu do żadnych katalogów systemowych.
Źródła informacji
Dowiedz się więcej o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.