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.