Mengonfigurasi SQL Server di Linux dengan alat mssql-conf

Berlaku untuk: SQL Server (semua versi yang didukung) - Linux

mssql-conf adalah skrip konfigurasi yang diinstal dengan SQL Server 2017 untuk Red Hat Enterprise Linux, SUSE Linux Enterprise Server, dan Ubuntu. Ini memodifikasi file mssql.conf tempat nilai konfigurasi disimpan. Anda dapat menggunakan utilitas mssql-conf untuk mengatur parameter berikut:

Parameter Deskripsi
Agen Aktifkan SQL Server Agent.
Mengautentikasi dengan Windows Pengaturan untuk autentikasi Direktori Aktif Windows Server.
Kolase Atur kolase baru untuk SQL Server di Linux.
Umpan balik pelanggan Pilih apakah SQL Server mengirim umpan balik ke Microsoft atau tidak.
Profil Email Database Atur profil email database default untuk SQL Server di Linux.
Direktori data default Ubah direktori default untuk file data database SQL Server baru (.mdf).
Direktori log default Mengubah direktori default untuk file log database SQL Server baru (.ldf).
Direktori database master default Mengubah direktori default untuk master database dan file log.
Nama file database master default Mengubah nama master file database.
Direktori cadangan default Ubah direktori default untuk cadangan memori baru dan file pemecahan masalah lainnya.
Direktori log kesalahan default Mengubah direktori default untuk file SQL Server ErrorLog, Default Profiler Trace, System Health Session XE, dan Hekaton Session XE.
Direktori pencadangan default Ubah direktori default untuk file cadangan baru.
Jenis cadangan Pilih jenis file cadangan memori cadangan yang akan dikumpulkan.
Edisi Atur edisi SQL Server.
Ketersediaan tinggi Mengaktifkan Grup Ketersediaan.
Direktori Audit Lokal Atur direktori untuk menambahkan file Audit Lokal.
Lokal Atur lokal untuk digunakan SQL Server.
Batas memori Atur batas memori untuk SQL Server.
Pengaturan jaringan Pengaturan jaringan tambahan untuk SQL Server.
Koordinator Transaksi Terdistribusi Microsoft Mengonfigurasi dan memecahkan masalah MSDTC di Linux.
Port TCP Ubah port tempat SQL Server mendengarkan koneksi.
TLS Mengonfigurasi Keamanan Tingkat Transportasi.
Bendera pelacakan Atur traceflags yang akan digunakan layanan.

mssql-conf adalah skrip konfigurasi yang diinstal dengan SQL Server 2019 (15.x) untuk Red Hat Enterprise Linux, SUSE Linux Enterprise Server, dan Ubuntu. Anda dapat menggunakan utilitas ini untuk mengatur parameter berikut:

Parameter Deskripsi
Agen Aktifkan SQL Server Agent
Mengautentikasi dengan Windows Pengaturan untuk autentikasi Direktori Aktif Windows Server.
Kolase Atur kolase baru untuk SQL Server di Linux.
Umpan balik pelanggan Pilih apakah SQL Server mengirim umpan balik ke Microsoft atau tidak.
Profil Email Database Atur profil email database default untuk SQL Server di Linux.
Direktori data default Ubah direktori default untuk file data database SQL Server baru (.mdf).
Direktori log default Mengubah direktori default untuk file log database SQL Server baru (.ldf).
Direktori file database master default Mengubah direktori default untuk master file database pada penginstalan SQL yang ada.
Nama file database master default Mengubah nama master file database.
Direktori cadangan default Ubah direktori default untuk cadangan memori baru dan file pemecahan masalah lainnya.
Direktori log kesalahan default Mengubah direktori default untuk file SQL Server ErrorLog, Default Profiler Trace, System Health Session XE, dan Hekaton Session XE.
Direktori pencadangan default Ubah direktori default untuk file cadangan baru.
Jenis cadangan Pilih jenis file cadangan memori cadangan yang akan dikumpulkan.
Edisi Atur edisi SQL Server.
Ketersediaan tinggi Mengaktifkan Grup Ketersediaan.
Direktori Audit Lokal Atur direktori untuk menambahkan file Audit Lokal.
Lokal Atur lokal untuk digunakan SQL Server.
Batas memori Atur batas memori untuk SQL Server.
Koordinator Transaksi Terdistribusi Microsoft Mengonfigurasi dan memecahkan masalah MSDTC di Linux.
MLServices EULAs Terima R dan Python EULAs untuk paket mlservices. Berlaku khusus untuk SQL Server 2019.
Pengaturan jaringan Pengaturan jaringan tambahan untuk SQL Server.
outboundnetworkaccess Aktifkan akses jaringan keluar untuk ekstensi mlservices R, Python, dan Java.
Port TCP Ubah port tempat SQL Server mendengarkan koneksi.
TLS Mengonfigurasi Keamanan Tingkat Transportasi.
Bendera pelacakan Atur traceflags yang akan digunakan layanan.

mssql-conf adalah skrip konfigurasi yang diinstal dengan Pratinjau SQL Server 2022 (16.x) untuk Red Hat Enterprise Linux, dan Ubuntu. Anda dapat menggunakan utilitas ini untuk mengatur parameter berikut:

Parameter Deskripsi
Agen Aktifkan SQL Server Agent
Mengautentikasi dengan Azure AD Pengaturan untuk autentikasi Azure Active Directory.
Mengautentikasi dengan Windows Pengaturan untuk autentikasi Direktori Aktif Windows Server.
Kolase Atur kolase baru untuk SQL Server di Linux.
Umpan balik pelanggan Pilih apakah SQL Server mengirim umpan balik ke Microsoft atau tidak.
Profil Email Database Atur profil email database default untuk SQL Server di Linux.
Direktori data default Ubah direktori default untuk file data database SQL Server baru (.mdf).
Direktori log default Mengubah direktori default untuk file log database SQL Server baru (.ldf).
Direktori file database master default Mengubah direktori default untuk master file database pada penginstalan SQL yang ada.
Nama file database master default Mengubah nama master file database.
Direktori cadangan default Ubah direktori default untuk cadangan memori baru dan file pemecahan masalah lainnya.
Direktori log kesalahan default Mengubah direktori default untuk file SQL Server ErrorLog, Default Profiler Trace, System Health Session XE, dan Hekaton Session XE.
Direktori pencadangan default Ubah direktori default untuk file cadangan baru.
Jenis cadangan Pilih jenis file cadangan memori cadangan yang akan dikumpulkan.
Edisi Atur edisi SQL Server.
Ketersediaan tinggi Mengaktifkan Grup Ketersediaan.
Direktori Audit Lokal Atur direktori untuk menambahkan file Audit Lokal.
Lokal Atur lokal untuk SQL Server digunakan.
Batas memori Atur batas memori untuk SQL Server.
Koordinator Transaksi Terdistribusi Microsoft Mengonfigurasi dan memecahkan masalah MSDTC di Linux.
MLServices EULAs Terima R dan Python EULAs untuk paket mlservices. Berlaku khusus untuk SQL Server 2019.
Pengaturan jaringan Pengaturan jaringan tambahan untuk SQL Server.
outboundnetworkaccess Aktifkan akses jaringan keluar untuk ekstensi mlservices R, Python, dan Java.
Port TCP Ubah port tempat SQL Server mendengarkan koneksi.
TLS Mengonfigurasi Keamanan Tingkat Transportasi.
Bendera pelacakan Atur traceflags yang akan digunakan layanan.

Tip

Beberapa pengaturan ini juga dapat dikonfigurasi dengan variabel lingkungan. Untuk informasi selengkapnya, lihat Mengonfigurasi pengaturan SQL Server dengan variabel lingkungan.

Tips penggunaan

  • Untuk Grup Ketersediaan AlwaysOn dan kluster disk bersama, selalu buat perubahan konfigurasi yang sama pada setiap simpul.

  • Untuk skenario kluster disk bersama, jangan mencoba memulai ulang layanan mssql-server untuk menerapkan perubahan. SQL Server berjalan sebagai aplikasi. Sebagai gantinya, ambil sumber daya offline lalu kembali online.

  • Contoh-contoh ini menjalankan mssql-conf dengan menentukan jalur lengkap: /opt/mssql/bin/mssql-conf. Jika Anda memilih untuk menavigasi ke jalur tersebut, jalankan mssql-conf dalam konteks direktori saat ini: ./mssql-conf.

Aktifkan SQL Server Agent

Pengaturan sqlagent.enabled memungkinkan SQL Server Agent. Secara default, SQL Server Agent dinonaktifkan. Jika sqlagent.enabled tidak ada dalam file pengaturan mssql.conf, maka SQL Server secara internal mengasumsikan bahwa SQL Server Agent dinonaktifkan.

Untuk mengubah pengaturan ini, gunakan langkah-langkah berikut:

  1. Aktifkan SQL Server Agent:

    sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true 
    
  2. Mulai ulang layanan SQL Server:

    sudo systemctl restart mssql-server
    

Mengatur profil email database default untuk SQL Server di Linux

sqlagent.databasemailprofile memungkinkan Anda mengatur profil DB Mail default untuk pemberitahuan email.

sudo /opt/mssql/bin/mssql-conf set sqlagent.databasemailprofile <profile_name>

Log kesalahan Agen SQL

Pengaturan sqlagent.errorlogfile dan sqlagent.errorlogginglevel memungkinkan Anda untuk mengatur jalur file log SQL Agent dan tingkat pengelogan masing-masing.

sudo /opt/mssql/bin/mssql-conf set sqlagent.errorfile <path>

Tingkat pengelogan Agen SQL adalah nilai bitmask yang sama:

  • 1 = Kesalahan
  • 2 = Peringatan
  • 4 = Info

Jika Anda ingin mengambil semua tingkatan, gunakan 7 sebagai nilai .

sudo /opt/mssql/bin/mssql-conf set sqlagent.errorlogginglevel <level>

Mengonfigurasi atau menggunakan autentikasi Azure Active Directory

Dimulai dengan Pratinjau SQL Server 2022 (16.x), Anda dapat mengonfigurasi Azure Active Directory (Azure AD) untuk SQL Server. Untuk informasi selengkapnya, lihat Tutorial: Menyiapkan autentikasi Azure Active Directory untuk SQL Server.

Mengubah jalur sertifikat Azure AD default

Secara default, file sertifikat Azure AD disimpan di /var/opt/mssql/aadsecrets/. Anda dapat mengubah jalur ini jika Anda menggunakan penyimpanan sertifikat atau drive terenkripsi. Untuk mengubah jalur, Anda bisa menggunakan perintah berikut:

sudo /opt/mssql/bin/mssql-conf set network.aadcertificatefilepath /path/to/new/location.pfx

Dalam contoh sebelumnya, /path/to/new/location.pfx adalah jalur pilihan Anda termasuk nama sertifikat.

Sertifikat yang diunduh oleh agen Azure Arc SQL Server untuk autentikasi Azure AD sekarang akan disimpan di lokasi ini. Anda tidak akan dapat mengubahnya menjadi /var/opt/mssql/secrets.

Azure AD opsi konfigurasi

Opsi berikut digunakan oleh autentikasi Azure AD untuk instans SQL Server yang berjalan di Linux.

Peringatan

Azure AD parameter dikonfigurasi oleh agen Azure Arc, dan tidak boleh dikonfigurasi ulang secara manual.

Opsi Deskripsi
network.aadauthenticationendpoint Titik akhir untuk autentikasi Azure AD
network.aadcertificatefilepath Jalur ke file sertifikat untuk mengautentikasi ke Azure AD
network.aadclientcertblacklist daftar blokir Sertifikat Klien Azure AD
network.aadclientid GUID Klien Azure AD
network.aadfederationmetadataendpoint Titik akhir untuk Metadata Federasi Azure AD
network.aadgraphapiendpoint Titik akhir untuk Azure AD Graph API
network.aadgraphendpoint Titik Akhir Grafik Azure AD
network.aadissuerurl URL Penerbit Azure AD
network.aadmsgraphendpoint titik akhir MS Graph Azure AD
network.aadonbehalfofauthority Azure AD Atas Nama Otoritas
network.aadprimarytenant GUID Penyewa Utama Azure AD
network.aadsendx5c Azure AD Kirim X5C
network.aadserveradminname Nama akun Azure AD yang akan dibuat sysadmin
network.aadserveradminsid SID akun Azure AD yang akan dibuat sysadmin
network.aadserveradmintype Jenis akun Azure AD yang akan dibuat sysadmin
network.aadserviceprincipalname Nama Perwakilan Layanan Azure AD
network.aadserviceprincipalnamenoslash Azure AD Nama Perwakilan Layanan, tanpa garis miring
network.aadstsurl URL STS Azure AD

Mengonfigurasi autentikasi Windows Active Directory

Opsi setup-ad-keytab dapat digunakan untuk membuat tab kunci, tetapi pengguna dan Nama Prinsipal Layanan (SPN) harus dibuat untuk menggunakan opsi ini. Utilitas Direktori Aktif, adutil dapat digunakan untuk membuat pengguna, SPN, dan tab kunci.

Untuk opsi dalam menggunakan setup-ad-keytab, jalankan perintah berikut:

sudo /opt/mssql/bin/mssql-conf setup-ad-keytab --help

Opsi validate-ad-config akan memvalidasi konfigurasi untuk autentikasi Direktori Aktif.

Mengubah kolagasi SQL Server

Opsi atur-kolase mengubah nilai kolase menjadi salah satu kolase yang didukung. Untuk membuat perubahan ini, layanan SQL Server perlu dihentikan.

  1. Pertama-tama cadangkan database pengguna apa pun di server Anda.

  2. Kemudian gunakan prosedur tersimpan sp_detach_db untuk mencopot database pengguna.

  3. Jalankan opsi atur-kolase dan ikuti perintah:

    sudo /opt/mssql/bin/mssql-conf set-collation
    
  4. Utilitas mssql-conf akan mencoba mengubah ke nilai kolater yang ditentukan dan menghidupkan ulang layanan. Jika ada kesalahan, ia mengembalikan kolae ke nilai sebelumnya.

  5. Pulihkan cadangan database pengguna Anda.

Untuk daftar kolamen yang didukung, jalankan fungsi sys.fn_helpcollations : SELECT Name from sys.fn_helpcollations().

Mengonfigurasi umpan balik pelanggan

Pengaturan telemetry.customerfeedback berubah apakah SQL Server mengirim umpan balik ke Microsoft atau tidak. Secara default, nilai ini diatur ke true untuk semua edisi. Untuk mengubah nilai, jalankan perintah berikut:

Penting

Anda tidak dapat menonaktifkan umpan balik pelanggan untuk edisi gratis SQL Server, Ekspres, dan Pengembang.

  1. Jalankan skrip mssql-conf sebagai root dengan perintah yang ditetapkan untuk telemetry.customerfeedback. Contoh berikut menonaktifkan umpan balik pelanggan dengan menentukan false.

    sudo /opt/mssql/bin/mssql-conf set telemetry.customerfeedback false
    
  2. Mulai ulang layanan SQL Server:

    sudo systemctl restart mssql-server
    

Untuk informasi selengkapnya, lihat Umpan Balik Pelanggan untuk SQL Server di Linux dan Pernyataan Privasi SQL Server.

Mengubah lokasi direktori data atau log default

Pengaturan filelocation.defaultdatadir dan filelocation.defaultlogdir mengubah lokasi tempat database baru dan file log dibuat. Secara default, lokasi ini adalah /var/opt/mssql/data. Untuk mengubah pengaturan ini, gunakan langkah-langkah berikut:

  1. Buat direktori target untuk data database baru dan file log. Contoh berikut membuat direktori /tmp/data baru:

    sudo mkdir /tmp/data
    
  2. Ubah pemilik dan grup direktori ke pengguna mssql :

    sudo chown mssql /tmp/data
    sudo chgrp mssql /tmp/data
    
  3. Gunakan mssql-conf untuk mengubah direktori data default dengan perintah set :

    sudo /opt/mssql/bin/mssql-conf set filelocation.defaultdatadir /tmp/data
    
  4. Mulai ulang layanan SQL Server:

    sudo systemctl restart mssql-server
    
  5. Sekarang semua file database untuk database baru yang dibuat akan disimpan di lokasi baru ini. Jika Anda ingin mengubah lokasi file log (.ldf) dari database baru, Anda dapat menggunakan perintah "set" berikut:

    sudo /opt/mssql/bin/mssql-conf set filelocation.defaultlogdir /tmp/log
    
  6. Perintah ini juga mengasumsikan bahwa direktori /tmp/log ada, dan berada di bawah pengguna dan grup mssql.

Mengubah lokasi direktori file database default master

Pengaturan filelocation.masterdatafile dan filelocation.masterlogfile mengubah lokasi tempat mesin SQL Server mencari master file database. Secara default, lokasi ini adalah /var/opt/mssql/data.

Untuk mengubah pengaturan ini, gunakan langkah-langkah berikut:

  1. Buat direktori target untuk file log kesalahan baru. Contoh berikut membuat direktori /tmp/masterdatabasedir baru:

    sudo mkdir /tmp/masterdatabasedir
    
  2. Ubah pemilik dan grup direktori ke pengguna mssql :

    sudo chown mssql /tmp/masterdatabasedir
    sudo chgrp mssql /tmp/masterdatabasedir
    
  3. Gunakan mssql-conf untuk mengubah direktori database default master untuk data master dan file log dengan perintah set :

    sudo /opt/mssql/bin/mssql-conf set filelocation.masterdatafile /tmp/masterdatabasedir/master.mdf
    sudo /opt/mssql/bin/mssql-conf set filelocation.masterlogfile /tmp/masterdatabasedir/mastlog.ldf
    

    Catatan

    Selain memindahkan data master dan file log, ini juga memindahkan lokasi default untuk semua database sistem lainnya.

  4. Hentikan layanan SQL Server:

    sudo systemctl stop mssql-server
    
  5. Pindahkan master.mdf dan masterlog.ldf:

    sudo mv /var/opt/mssql/data/master.mdf /tmp/masterdatabasedir/master.mdf 
    sudo mv /var/opt/mssql/data/mastlog.ldf /tmp/masterdatabasedir/mastlog.ldf
    
  6. Mulai layanan SQL Server:

    sudo systemctl start mssql-server
    

    Catatan

    Jika SQL Server tidak dapat menemukan master.mdf file dan mastlog.ldf dalam direktori yang ditentukan, salinan templat database sistem akan dibuat secara otomatis di direktori yang ditentukan, dan SQL Server akan berhasil memulai. Namun, metadata seperti database pengguna, login server, sertifikat server, kunci enkripsi, pekerjaan agen SQL, atau kata sandi masuk SA lama tidak akan diperbarui dalam database baru master . Anda harus menghentikan SQL Server dan memindahkan master.mdf dan mastlog.ldf lama ke lokasi baru yang ditentukan dan mulai SQL Server untuk terus menggunakan metadata yang ada.

Mengubah nama master file database

Pengaturan filelocation.masterdatafile dan filelocation.masterlogfile mengubah lokasi tempat mesin SQL Server mencari master file database. Anda juga dapat menggunakan ini untuk mengubah nama master database dan file log.

Untuk mengubah pengaturan ini, gunakan langkah-langkah berikut:

  1. Hentikan layanan SQL Server:

    sudo systemctl stop mssql-server
    
  2. Gunakan mssql-conf untuk mengubah nama database yang diharapkan master untuk data master dan file log dengan perintah set :

    sudo /opt/mssql/bin/mssql-conf set filelocation.masterdatafile /var/opt/mssql/data/masternew.mdf
    sudo /opt/mssql/bin/mssql-conf set filelocation.mastlogfile /var/opt/mssql/data/mastlognew.ldf
    

    Penting

    Anda hanya dapat mengubah nama master database dan file log setelah SQL Server berhasil dimulai. Sebelum eksekusi awal, SQL Server mengharapkan file diberi nama master.mdf dan mastlog.ldf.

  3. Mengubah nama master data database dan file log

    sudo mv /var/opt/mssql/data/master.mdf /var/opt/mssql/data/masternew.mdf
    sudo mv /var/opt/mssql/data/mastlog.ldf /var/opt/mssql/data/mastlognew.ldf
    
  4. Mulai layanan SQL Server:

    sudo systemctl start mssql-server
    

Mengubah lokasi direktori cadangan default

Pengaturan filelocation.defaultdumpdir mengubah lokasi default tempat memori dan cadangan SQL dihasilkan setiap kali ada crash. Secara default, file-file ini dihasilkan di /var/opt/mssql/log.

Untuk menyiapkan lokasi baru ini, gunakan perintah berikut:

  1. Buat direktori target untuk file cadangan baru. Contoh berikut membuat direktori baru /tmp/dump :

    sudo mkdir /tmp/dump
    
  2. Ubah pemilik dan grup direktori ke pengguna mssql :

    sudo chown mssql /tmp/dump
    sudo chgrp mssql /tmp/dump
    
  3. Gunakan mssql-conf untuk mengubah direktori data default dengan perintah set :

    sudo /opt/mssql/bin/mssql-conf set filelocation.defaultdumpdir /tmp/dump
    
  4. Mulai ulang layanan SQL Server:

    sudo systemctl restart mssql-server
    

Mengubah lokasi direktori file log kesalahan default

Pengaturan filelocation.errorlogfile mengubah lokasi tempat log kesalahan baru, jejak profiler default, sesi kesehatan sistem XE dan file XE sesi Hekaton dibuat. Secara default, lokasi ini adalah /var/opt/mssql/log. Direktori tempat file errorlog SQL diatur menjadi direktori log default untuk log lain.

Untuk mengubah pengaturan ini:

  1. Buat direktori target untuk file log kesalahan baru. Contoh berikut membuat direktori /tmp/logs baru:

    sudo mkdir /tmp/logs
    
  2. Ubah pemilik dan grup direktori ke pengguna mssql :

    sudo chown mssql /tmp/logs
    sudo chgrp mssql /tmp/logs
    
  3. Gunakan mssql-conf untuk mengubah nama file errorlog default dengan perintah set :

    sudo /opt/mssql/bin/mssql-conf set filelocation.errorlogfile /tmp/logs/errorlog
    
  4. Mulai ulang layanan SQL Server:

    sudo systemctl restart mssql-server
    

Pengaturan errorlog.numerrorlogs akan memungkinkan Anda menentukan jumlah log kesalahan yang dipertahankan sebelum mendaur log.

Mengubah lokasi direktori cadangan default

Pengaturan filelocation.defaultbackupdir mengubah lokasi default tempat file cadangan dibuat. Secara default, file-file ini dihasilkan di /var/opt/mssql/data.

Untuk menyiapkan lokasi baru ini, gunakan perintah berikut:

  1. Buat direktori target untuk file cadangan baru. Contoh berikut membuat direktori /tmp/backup baru:

    sudo mkdir /tmp/backup
    
  2. Ubah pemilik dan grup direktori ke pengguna mssql :

    sudo chown mssql /tmp/backup
    sudo chgrp mssql /tmp/backup
    
  3. Gunakan mssql-conf untuk mengubah direktori cadangan default dengan perintah "set":

    sudo /opt/mssql/bin/mssql-conf set filelocation.defaultbackupdir /tmp/backup
    
  4. Mulai ulang layanan SQL Server:

    sudo systemctl restart mssql-server
    

Tentukan pengaturan cadangan inti

Jika pengecualian atau crash terjadi di salah satu proses SQL Server, SQL Server membuat cadangan memori. Menangkap cadangan memori mungkin memakan waktu lama dan memakan ruang yang signifikan. Untuk menyimpan sumber daya dan menghindari cadangan memori berulang, Anda dapat menonaktifkan pengambilan cadangan otomatis menggunakan opsi coredump.disablecoredump .

sudo /opt/mssql/bin/mssql-conf set coredump.disablecoredump <true or false>

Pengguna masih dapat menghasilkan cadangan memori secara manual ketika cadangan inti otomatis dinonaktifkan (coredump.disablecoredump diatur ke true).

Ada dua opsi untuk mengontrol jenis cadangan memori yang dikumpulkan SQL Server: coredump.coredumptype dan coredump.captureminiandfull. Ini berkaitan dengan dua fase pengambilan cadangan inti.

Pengambilan fase pertama dikendalikan oleh pengaturan coredump.coredumptype , yang menentukan jenis file cadangan yang dihasilkan selama pengecualian. Fase kedua diaktifkan ketika pengaturan coredump.captureminiandfull . Jika coredump.captureminiandfull diatur ke true, file cadangan yang ditentukan oleh coredump.coredumptype dihasilkan, dan cadangan mini kedua juga dihasilkan. Mengatur coredump.captureminiandfull ke false menonaktifkan upaya pengambilan kedua.

  1. Putuskan apakah akan mengambil cadangan mini dan penuh dengan pengaturan coredump.captureminiandfull .

    sudo /opt/mssql/bin/mssql-conf set coredump.captureminiandfull <true or false>
    

    Default: false

  2. Tentukan jenis file cadangan dengan pengaturan coredump.coredumptype .

    sudo /opt/mssql/bin/mssql-conf set coredump.coredumptype <dump_type>
    

    Default: miniplus

    Tabel berikut mencantumkan kemungkinan nilai coredump.coredumptype .

    Jenis Deskripsi
    Mini Mini adalah jenis file cadangan terkecil. Ini menggunakan informasi sistem Linux untuk menentukan utas dan modul dalam prosesnya. Cadangan hanya berisi tumpukan dan modul utas lingkungan host. Ini tidak berisi referensi memori tidak langsung atau global.
    miniplus MiniPlus mirip dengan mini, tetapi mencakup memori tambahan. Ini memahami internal SQLPAL dan lingkungan host, menambahkan wilayah memori berikut ke cadangan:

    - Berbagai global
    - Semua memori di atas 64 TB
    - Semua wilayah bernama yang ditemukan di /proc/$pid/maps
    - Memori tidak langsung dari utas dan tumpukan - Informasi
    utas
    - Teb Terkait dan Peb's
    - Informasi
    Modul - VMM dan pohon PPN
    Disaring Difilter menggunakan desain berbasis pengurangan di mana semua memori dalam proses disertakan kecuali dikecualikan secara khusus. Desain memahami internal SQLPAL dan lingkungan host, tidak termasuk wilayah tertentu dari cadangan.
    Penuh Penuh adalah dump proses lengkap yang mencakup semua wilayah yang terletak di /proc/$pid/maps. Ini tidak dikontrol oleh pengaturan coredump.captureminiandfull .

Edisi

Edisi SQL Server dapat diubah menggunakan opsi set-edition. Untuk mengubah edisi SQL Server, layanan SQL Server harus dihentikan terlebih dahulu. Untuk informasi selengkapnya tentang SQL Server yang tersedia di edisi Linux, lihat edisi SQL Server

Ketersediaan Tinggi

Opsi hadr.hadrenabled memungkinkan grup ketersediaan pada instans SQL Server Anda. Perintah berikut memungkinkan grup ketersediaan dengan mengatur hadr.hadrenabled ke 1. Anda harus memulai ulang SQL Server agar pengaturan berlaku.

sudo /opt/mssql/bin/mssql-conf set hadr.hadrenabled  1
sudo systemctl restart mssql-server

Untuk informasi tentang bagaimana ini digunakan dengan grup ketersediaan, lihat dua artikel berikut ini.

Mengatur direktori audit lokal

Pengaturan telemetry.userrequestedlocalauditdirectory memungkinkan Audit Lokal dan memungkinkan Anda mengatur direktori tempat log Audit Lokal dibuat.

  1. Buat direktori target untuk log Audit Lokal baru. Contoh berikut membuat direktori /tmp/audit baru:

    sudo mkdir /tmp/audit
    
  2. Ubah pemilik dan grup direktori ke pengguna mssql :

    sudo chown mssql /tmp/audit
    sudo chgrp mssql /tmp/audit
    
  3. Jalankan skrip mssql-conf sebagai root dengan perintah yang ditetapkan untuk telemetry.userrequestedlocalauditdirectory:

    sudo /opt/mssql/bin/mssql-conf set telemetry.userrequestedlocalauditdirectory /tmp/audit
    
  4. Mulai ulang layanan SQL Server:

    sudo systemctl restart mssql-server
    

Untuk informasi selengkapnya, lihat Umpan Balik Pelanggan untuk SQL Server di Linux.

Mengubah lokal SQL Server

Pengaturan language.lcid mengubah lokal SQL Server ke pengidentifikasi bahasa yang didukung (LCID).

  1. Contoh berikut mengubah lokal menjadi bahasa Prancis (1036):

    sudo /opt/mssql/bin/mssql-conf set language.lcid 1036
    
  2. Mulai ulang layanan SQL Server untuk menerapkan perubahan:

    sudo systemctl restart mssql-server
    

Mengatur batas memori

Pengaturan memory.memorylimitmb mengontrol jumlah memori fisik (dalam MB) yang tersedia untuk SQL Server. Defaultnya adalah 80% dari memori fisik.

  1. Jalankan skrip mssql-conf sebagai root dengan perintah set untuk memory.memorylimitmb. Contoh berikut mengubah memori yang tersedia untuk SQL Server menjadi 3,25 GB (3328 MB).

    sudo /opt/mssql/bin/mssql-conf set memory.memorylimitmb 3328
    
  2. Mulai ulang layanan SQL Server untuk menerapkan perubahan:

    sudo systemctl restart mssql-server
    

Pengaturan memori tambahan

Opsi berikut tersedia untuk pengaturan memori.

Opsi Deskripsi
memory.disablememorypressure SQL Server menonaktifkan tekanan memori. Nilai dapat berupa true atau false.
memory.memory_optimized Aktifkan atau nonaktifkan SQL Server fitur yang dioptimalkan memori - pencerahan file memori persisten, perlindungan memori. Nilai dapat berupa true atau false.
memory.enablecontainersharedmemory Hanya berlaku untuk kontainer SQL Server. Gunakan pengaturan ini untuk mengaktifkan memori bersama di dalam kontainer SQL Server. Secara default, nilai ini diatur ke false. Nilai dapat berupa true atau false.

Mengonfigurasi MSDTC

Pengaturan network.rpcport dan distributedtransaction.servertcpport digunakan untuk mengonfigurasi Koordinator Transaksi Terdistribusi Microsoft (MSDTC). Untuk mengubah pengaturan ini, jalankan perintah berikut:

  1. Jalankan skrip mssql-conf sebagai root dengan perintah yang ditetapkan untuk "network.rpcport":

    sudo /opt/mssql/bin/mssql-conf set network.rpcport <rcp_port>
    
  2. Kemudian atur pengaturan "distributedtransaction.servertcpport":

    sudo /opt/mssql/bin/mssql-conf set distributedtransaction.servertcpport <servertcpport_port>
    

Selain mengatur nilai-nilai ini, Anda juga harus mengonfigurasi perutean dan memperbarui firewall untuk port 135. Untuk informasi selengkapnya tentang cara melakukannya, lihat Cara mengonfigurasi MSDTC di Linux.

Ada beberapa pengaturan lain untuk mssql-conf yang dapat Anda gunakan untuk memantau dan memecahkan masalah MSDTC. Tabel berikut ini menjelaskan pengaturan ini secara singkat. Untuk informasi selengkapnya tentang penggunaannya, lihat detail di artikel dukungan Windows, Cara mengaktifkan pelacakan diagnostik untuk MS DTC.

Opsi Deskripsi
distributedtransaction.allowonlysecurerpccalls Mengonfigurasi panggilan RPC hanya aman untuk transaksi terdistribusi
distributedtransaction.fallbacktounsecurerpcifnecessary Mengonfigurasi panggilan RPC keamanan saja untuk transaksi terdistribusi
distributedtransaction.maxlogsize Ukuran file log transaksi DTC dalam MB. Defaultnya adalah 64 MB
distributedtransaction.memorybuffersize Ukuran buffer melingkar tempat jejak disimpan. Ukuran ini dalam MB dan defaultnya adalah 10 MB
distributedtransaction.servertcpport Port server rpc MSDTC
distributedtransaction.trace_cm Jejak di pengelola koneksi
distributedtransaction.trace_contact Melacak kumpulan kontak dan kontak
distributedtransaction.trace_gateway Melacak sumber Gateway
distributedtransaction.trace_log Pelacakan log
distributedtransaction.trace_misc Jejak yang tidak dapat dikategorikan ke dalam kategori lain
distributedtransaction.trace_proxy Jejak yang dihasilkan dalam proksi MSDTC
distributedtransaction.trace_svc Melacak layanan dan .exe pengaktifan file
distributedtransaction.trace_trace Infrastruktur pelacakan itu sendiri
distributedtransaction.trace_util Melacak rutinitas utilitas yang dipanggil dari beberapa lokasi
distributedtransaction.trace_xa Sumber pelacakan XA Transaction Manager (XATM)
distributedtransaction.tracefilepath Folder tempat file pelacakan harus disimpan
distributedtransaction.turnoffrpcsecurity Mengaktifkan atau menonaktifkan keamanan RPC untuk transaksi terdistribusi

Menerima MLServices EULAs

Menambahkan paket R atau Python pembelajaran mesin ke mesin database mengharuskan Anda menerima persyaratan lisensi untuk distribusi sumber terbuka R dan Python. Tabel berikut menghitung semua perintah atau opsi yang tersedia yang terkait dengan mlservices EULAs. Parameter EULA yang sama digunakan untuk R dan Python, tergantung pada apa yang Anda instal.

# For all packages: database engine and mlservices
# Setup prompts for mlservices EULAs, which you need to accept
sudo /opt/mssql/bin/mssql-conf setup

# Add R or Python to an existing installation
sudo /opt/mssql/bin/mssql-conf setup accept-eula-ml

# Alternative valid syntax
# Adds the EULA section to the INI and sets acceptulam to yes
sudo /opt/mssql/bin/mssql-conf set EULA accepteulaml Y

# Rescind EULA acceptance and removes the setting
sudo /opt/mssql/bin/mssql-conf unset EULA accepteulaml

Anda juga dapat menambahkan penerimaan EULA langsung ke file mssql.conf:

[EULA]
accepteula = Y
accepteulaml = Y

Mengaktifkan akses jaringan keluar

Akses jaringan keluar untuk ekstensi R, Python, dan Java di fitur SQL Server Machine Learning Services dinonaktifkan secara default. Untuk mengaktifkan permintaan keluar, atur properti Boolean "outboundnetworkaccess" menggunakan mssql-conf.

Setelah mengatur properti, mulai ulang SQL Server layanan Launchpad untuk membaca nilai yang diperbarui dari file INI. Pesan hidupkan ulang mengingatkan Anda setiap kali pengaturan terkait ekstensibilitas dimodifikasi.

# Adds the extensibility section and property.
# Sets "outboundnetworkaccess" to true.
# This setting is required if you want to access data or operations off the server.
sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 1

# Turns off network access but preserves the setting
sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 0

# Removes the setting and rescinds network access
sudo /opt/mssql/bin/mssql-conf unset extensibility.outboundnetworkaccess

Anda juga dapat menambahkan "outboundnetworkaccess" langsung ke file mssql.conf:

[extensibility]
outboundnetworkaccess = 1

Mengubah port TCP

Pengaturan network.tcpport mengubah port TCP di mana SQL Server mendengarkan koneksi. Secara default, port ini diatur ke 1433. Untuk mengubah port, jalankan perintah berikut:

  1. Jalankan skrip mssql-conf sebagai root dengan perintah "set" untuk "network.tcpport":

    sudo /opt/mssql/bin/mssql-conf set network.tcpport <new_tcp_port>
    
  2. Mulai ulang layanan SQL Server:

    sudo systemctl restart mssql-server
    
  3. Saat menyambungkan ke SQL Server sekarang, Anda harus menentukan port kustom dengan koma (,) setelah nama host atau alamat IP. Misalnya, untuk terhubung dengan SQLCMD, Anda akan menggunakan perintah berikut:

    sqlcmd -S localhost,<new_tcp_port> -U test -P test
    

Tentukan pengaturan TLS

Opsi berikut mengonfigurasi TLS untuk instans SQL Server yang berjalan di Linux.

Opsi Deskripsi
network.forceencryption Jika 1, maka SQL Server memaksa semua koneksi untuk dienkripsi. Secara default, opsi ini adalah 0.
network.tlscert Jalur absolut ke file sertifikat yang SQL Server gunakan untuk TLS. Contoh: /etc/ssl/certs/mssql.pem File sertifikat harus dapat diakses oleh akun mssql. Microsoft merekomendasikan untuk membatasi akses ke file menggunakan chown mssql:mssql <file>; chmod 400 <file>.
network.tlskey Jalur absolut ke file kunci privat yang SQL Server gunakan untuk TLS. Contoh: /etc/ssl/private/mssql.key File sertifikat harus dapat diakses oleh akun mssql. Microsoft merekomendasikan untuk membatasi akses ke file menggunakan chown mssql:mssql <file>; chmod 400 <file>.
network.tlsprotocols Daftar yang dipisahkan koma dari protokol TLS mana yang diizinkan oleh SQL Server. SQL Server selalu mencoba untuk menegosiasikan protokol terkuat yang diizinkan. Jika klien tidak mendukung protokol yang diizinkan, SQL Server menolak upaya koneksi. Untuk kompatibilitas, semua protokol yang didukung diizinkan secara default (1.2, 1.1, 1.0). Jika klien Anda mendukung TLS 1.2, Microsoft merekomendasikan hanya mengizinkan TLS 1.2.
network.tlsciphers Menentukan cipher mana yang diizinkan oleh SQL Server untuk TLS. String ini harus diformat sesuai format daftar sandi OpenSSL. Secara umum, Anda tidak perlu mengubah opsi ini.
Secara default, cipher berikut diizinkan:
ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA
network.kerberoskeytabfile Jalur ke file tab kunci Kerberos

Untuk contoh penggunaan pengaturan TLS, lihat Mengenkripsi Koneksi ke SQL Server di Linux.

Pengaturan jaringan

Lihat Tutorial: Menggunakan autentikasi Direktori Aktif dengan SQL Server di Linux untuk informasi komprehensif tentang menggunakan autentikasi AD dengan SQL Server di Linux.

Opsi berikut adalah pengaturan jaringan tambahan yang dapat dikonfigurasi menggunakan mssql-conf.

Opsi Deskripsi
network.disablesssd Nonaktifkan kueri SSSD untuk informasi akun AD dan default ke panggilan LDAP. Nilai dapat berupa true atau false.
network.enablekdcfromkrb5conf Aktifkan mencari informasi KDC dari krb5.conf. Nilai dapat berupa true atau false.
network.forcesecureldap Paksa menggunakan LDAPS untuk menghubungi pengendali domain. Nilai dapat berupa true atau false.
network.ipaddress Alamat IP untuk koneksi masuk.
network.kerberoscredupdatefrequency Waktu dalam detik antara pemeriksaan kredensial kerberos yang perlu diperbarui. Nilai adalah bilangan bulat.
network.privilegedadaccount Pengguna AD istimewa yang digunakan untuk autentikasi AD. Nilainya adalah <username>. Untuk informasi selengkapnya, lihat Tutorial: Menggunakan autentikasi Direktori Aktif dengan SQL Server di Linux
uncmapping Memetakan jalur UNC ke jalur lokal. Contohnya:sudo /opt/mssql/bin/mssql-conf set uncmapping //servername/sharename /tmp/folder

Mengaktifkan/Menonaktifkan bendera pelacakan

Opsi traceflag mengaktifkan atau menonaktifkan bendera pelacakan untuk startup layanan SQL Server. Untuk mengaktifkan/menonaktifkan bendera pelacakan, gunakan perintah berikut:

  1. Aktifkan bendera pelacakan menggunakan perintah berikut. Misalnya, untuk Bendera Pelacakan 1234:

    sudo /opt/mssql/bin/mssql-conf traceflag 1234 on
    
  2. Anda dapat mengaktifkan beberapa bendera pelacakan dengan menentukannya secara terpisah:

    sudo /opt/mssql/bin/mssql-conf traceflag 2345 3456 on
    
  3. Dengan cara yang sama, Anda dapat menonaktifkan satu atau beberapa bendera pelacakan yang diaktifkan dengan menentukannya dan menambahkan parameter nonaktif :

    sudo /opt/mssql/bin/mssql-conf traceflag 1234 2345 3456 off
    
  4. Mulai ulang layanan SQL Server untuk menerapkan perubahan:

    sudo systemctl restart mssql-server
    

Menghapus pengaturan

Untuk membatalkan pengaturan apa pun yang dibuat dengan mssql-conf set, panggil mssql-conf dengan unset opsi dan nama pengaturan. Ini menghapus pengaturan, mengembalikannya secara efektif ke nilai defaultnya.

  1. Contoh berikut menghapus opsi network.tcpport .

    sudo /opt/mssql/bin/mssql-conf unset network.tcpport
    
  2. Mulai ulang layanan SQL Server.

    sudo systemctl restart mssql-server
    

Lihat pengaturan saat ini

Untuk melihat pengaturan yang dikonfigurasi, jalankan perintah berikut untuk menghasilkan konten file mssql.conf :

sudo cat /var/opt/mssql/mssql.conf

Pengaturan apa pun yang tidak ditampilkan dalam file ini menggunakan nilai defaultnya. Bagian berikutnya menyediakan sampel file mssql.conf .

Lihat berbagai opsi

Untuk melihat berbagai opsi yang dapat dikonfigurasi menggunakan utilitas mssql-conf , jalankan help perintah :

sudo /opt/mssql/bin/mssql-conf --help

Hasilnya akan memberi Anda berbagai opsi konfigurasi dan deskripsi singkat untuk setiap pengaturan.

Format mssql.conf

File berikut memberikan /var/opt/mssql/mssql.conf contoh untuk setiap pengaturan. Anda dapat menggunakan format ini untuk membuat perubahan mssql.conf pada file secara manual sesuai kebutuhan. Jika Anda mengubah file secara manual, Anda harus memulai ulang SQL Server sebelum perubahan diterapkan. Untuk menggunakan mssql.conf file dengan Docker, Anda harus meminta Docker mempertahankan data Anda. Pertama tambahkan file lengkap mssql.conf ke direktori host Anda lalu jalankan kontainer. Ada contoh ini di Umpan Balik Pelanggan.

[EULA]
accepteula = Y

[coredump]
captureminiandfull = true
coredumptype = full

[filelocation]
defaultbackupdir = /var/opt/mssql/data/
defaultdatadir = /var/opt/mssql/data/
defaultdumpdir = /var/opt/mssql/data/
defaultlogdir = /var/opt/mssql/data/

[hadr]
hadrenabled = 0

[language]
lcid = 1033

[memory]
memorylimitmb = 4096

[network]
forceencryption = 0
ipaddress = 10.192.0.0
kerberoskeytabfile = /var/opt/mssql/secrets/mssql.keytab
tcpport = 1401
tlscert = /etc/ssl/certs/mssql.pem
tlsciphers = ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA
tlskey = /etc/ssl/private/mssql.key
tlsprotocols = 1.2,1.1,1.0

[sqlagent]
databasemailprofile = default
errorlogfile = /var/opt/mssql/log/sqlagentlog.log
errorlogginglevel = 7

[telemetry]
customerfeedback = true
userrequestedlocalauditdirectory = /tmp/audit

[traceflag]
traceflag0 = 1204
traceflag1 = 2345
traceflag = 3456
[EULA]
accepteula = Y
accepteulaml = Y

[coredump]
captureminiandfull = true
coredumptype = full

[distributedtransaction]
servertcpport = 51999

[filelocation]
defaultbackupdir = /var/opt/mssql/data/
defaultdatadir = /var/opt/mssql/data/
defaultdumpdir = /var/opt/mssql/data/
defaultlogdir = /var/opt/mssql/data/

[hadr]
hadrenabled = 0

[language]
lcid = 1033

[memory]
memorylimitmb = 4096

[network]
forceencryption = 0
ipaddress = 10.192.0.0
kerberoskeytabfile = /var/opt/mssql/secrets/mssql.keytab
rpcport = 13500
tcpport = 1401
tlscert = /etc/ssl/certs/mssql.pem
tlsciphers = ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA
tlskey = /etc/ssl/private/mssql.key
tlsprotocols = 1.2,1.1,1.0

[sqlagent]
databasemailprofile = default
errorlogfile = /var/opt/mssql/log/sqlagentlog.log
errorlogginglevel = 7

[telemetry]
customerfeedback = true
userrequestedlocalauditdirectory = /tmp/audit

[traceflag]
traceflag0 = 1204
traceflag1 = 2345
traceflag = 3456

Langkah berikutnya

Untuk menggunakan variabel lingkungan untuk membuat beberapa perubahan konfigurasi ini, lihat Mengonfigurasi pengaturan SQL Server dengan variabel lingkungan.

Untuk alat dan skenario manajemen lainnya, lihat Mengelola SQL Server di Linux.