KB4533497 - PERBAIKI: Skrip proses satelit eksternal seperti R, Python tidak dapat mengakses direktori apa pun di luar direktori kerjanya pada SQL Server 2019

Berlaku Untuk
SQL Server 2019 on Linux

Gejala

Di SQL Server 2019 di Linux, skrip proses satelit eksternal seperti R, Python tidak dapat mengakses direktori apa pun di luar direktori kerjanya.

Resolusi

Masalah ini telah diperbaiki dalam pembaruan kumulatif berikut untuk SQL Server:

Tentang pembaruan kumulatif untuk SQL Server:

Setiap pembaruan kumulatif baru untuk SQL Server berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan pembaruan kumulatif sebelumnya. Lihat pembaruan kumulatif terbaru untuk SQL Server:

Informasi selengkapnya

Anda dapat menyesuaikan direktori yang dapat diakses oleh proses eksternal dengan menggunakan alat mssql-conf untuk mengatur atau membatalkan pengaturan "direktori data" di bagian ekstensibilitas dari file konfigurasi /var/opt/mssql/mssql.conf .

Nilai pengaturan adalah daftar direktori yang dipisahkan titik dua yang akan diekspos ke skrip satelit. Microsoft SQL Server Launchpad Daemon perlu dihidupkan ulang saat Anda mengatur atau membatalkan pengaturan ini.

Proses satelit berjalan sebagai pengguna khusus mssql_satellite , sehingga mereka akan mewarisi izin Baca/Tulis/Eksekusi yang sama ke direktori yang ditentukan dalam pengaturan ini seperti yang diberikan kepada pengguna khusus ini.

Contoh:
      

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

SQL Server Extensibility Launchpad Daemon perlu dihidupkan ulang untuk menerapkan pengaturan ini. Jalankan 'systemctl restart mssql-launchpadd.service'.

      

Konten /var/opt/mssql/mssql.conf

[ekstensibilitas]

direktori data = /opt/mssql/bin:/var

      

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

SQL Server Extensibility Launchpad Daemon perlu dihidupkan ulang untuk menerapkan pengaturan ini. Silakan jalankan

'systemCTL, mulai ulang mssql-launchpadd.service'.

Konten /var/opt/mssql/mssql.conf

[ekstensibilitas]

Status

Ini secara default dirancang sedemikian rupa sehingga proses eksternal tidak dapat mengakses direktori sistem apa pun secara acak.

Referensi

Pelajari tentang terminologi yang digunakan Microsoft untuk menjelaskan pembaruan perangkat lunak.