KB4533497 - FIX: Gli script di processo satellite esterni come R, Python non sono in grado di accedere a nessuna directory al di fuori della loro directory di lavoro in SQL Server 2019

Si applica a
SQL Server 2019 on Linux

Sintomi

In SQL Server 2019 su Linux, gli script di processo satellite esterni come R, Python non sono in grado di accedere ad alcuna directory al di fuori della directory di lavoro.

Risoluzione

Questo problema è stato risolto nel seguente aggiornamento cumulativo per SQL Server:

Informazioni sugli aggiornamenti cumulativi per SQL Server:

Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutte le correzioni rapide e di sicurezza incluse nell'aggiornamento cumulativo precedente. Vedere gli aggiornamenti cumulativi più recenti per SQL Server:

Altre informazioni

È possibile personalizzare le directory a cui i processi esterni hanno accesso utilizzando lo strumento mssql-conf per impostare o annullare l'impostazione "datadirectories" nella sezione estendibilità del file di configurazione /var/opt/mssql/mssql.conf .

Il valore dell'impostazione è un elenco di directory separate da due punti che verrà esposto agli script satellite. Microsoft SQL Server Launchpad Daemon deve essere riavviato quando si imposta o si annulla questa impostazione.

I processi satellite vengono eseguiti come mssql_satellite utente speciale, quindi ereditano le stesse autorizzazioni di lettura/scrittura/esecuzione per le directory specificate in questa impostazione fornite a questo utente speciale.

Esempio:
      

#/bin/bash: /opt/mssql/bin/mssql-conf set extensibility.datadirectories "/opt/mssql/bin:/home/user/rscripts"

SQL Server Extensibility Launchpad Daemon deve essere riavviato per applicare questa impostazione. Eseguire 'systemctl restart mssql-launchpadd.service'.

      

Contenuto di /var/opt/mssql/mssql.conf

[estensibilità]

datadirectories = /opt/mssql/bin:/var

      

#/bin/bash: /opt/mssql/bin/mssql-conf unset extensibility.datadirectories

SQL Server Extensibility Launchpad Daemon deve essere riavviato per applicare questa impostazione. Si prega di eseguire

'systemctl restart mssql-launchpadd.service'.

Contenuto di /var/opt/mssql/mssql.conf

[estensibilità]

Stato

Questo è progettato per impostazione predefinita come tale in modo che i processi esterni non possano accedere in modo casuale ad alcuna directory di sistema.

Riferimenti

Informazioni sulla terminologia utilizzata da Microsoft per descrivere gli aggiornamenti software.