Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Bagian berikut ini menjelaskan masalah yang diketahui dengan SQL Server on Linux.
Umum
Tabel berikut ini mencantumkan masalah paling umum dengan SQL Server on Linux.
| Masalah | Resolusi |
|---|---|
| Panjang hostname tempat SQL Server diinstal harus 15 karakter atau lebih pendek. | Ubah nama menjadi /etc/hostname nilai 15 karakter panjang atau lebih pendek. |
| Mengatur waktu sistem secara manual mundur menyebabkan SQL Server berhenti memperbarui waktu internal sistem di dalam Database Engine. | Mulai ulang SQL Server. |
| Hanya penginstalan instans tunggal yang didukung. | Untuk memiliki lebih dari satu instance pada satu host, pertimbangkan menggunakan mesin virtual atau kontainer Linux. |
| Pengelola Konfigurasi SQL Server tidak dapat tersambung ke SQL Server on Linux. | Configuration Manager tidak didukung di Linux. Gunakan mssql-conf untuk mengelola SQL Server on Linux sebagai gantinya. |
Bahasa default akun sa adalah bahasa Inggris. |
Ubah bahasa akun sa menggunakan pernyataan ALTER LOGIN. |
Penyedia OLE DB mencatat peringatan berikut:Failed to verify the Authenticode signature of 'C:\binn\msoledbsql.dll'. Signature verification of SQL Server DLLs will be skipped. Genuine copies of SQL Server are signed. Failure to verify the Authenticode signature might indicate that this isn't an authentic release of SQL Server. Install a genuine copy of SQL Server or contact customer support. |
Tidak diperlukan tindakan. Penyedia OLE DB menggunakan tanda tangan SHA256. Mesin Database SQL Server tidak memvalidasi .dll yang ditandatangani dengan benar. |
Perintah reset kata sandi di mssql-conf menampilkan kesalahan berikut:Unable to set the system administrator password. Please consult the ERRORLOG in /path for more information. |
Pesan kesalahan adalah negatif palsu. Reset kata sandi berhasil, dan Anda dapat melanjutkan menggunakan kata sandi baru. Berlaku untuk: gambar kontainer SQL Server 2022 (16.x) saja. |
Database
Anda tidak dapat memindahkan basis data
masterdengan utilitasmssql-conf. Anda dapat memindahkan database sistem lain denganmssql-conf.Saat Memulihkan database yang dicadangkan pada SQL Server pada Windows, Anda harus menggunakan klausa
WITH MOVEdalam pernyataan Transact-SQL. Untuk informasi selengkapnya, lihat Migrasikan database SQL Server dari Windows ke Linux menggunakan pencadangan dan pemulihan.Algoritma tertentu (cipher suites) untuk Transport Layer Security (TLS) tidak berfungsi dengan baik dengan SQL Server on Linux. Perilaku ini menyebabkan kegagalan koneksi saat Anda mencoba terhubung ke SQL Server, dan masalah dalam membangun koneksi antar replika dalam grup ketersediaan tinggi.
Untuk mengatasi masalah ini, ubah
mssql.confskrip konfigurasi SQL Server on Linux untuk menonaktifkan cipher suite bermasalah:Tambahkan bagian berikut ke
/var/opt/mssql/mssql.conf. Simbol tanda seru (!) meniadakan ekspresi. Negasi ini memberitahu OpenSSL untuk tidak menggunakan rangkaian sandi yang tercantum setelahnya.[network] tlsciphers=AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:!ECDHE-RSA-AES128-GCM-SHA256:!ECDHE-RSA-AES256-GCM-SHA384:!ECDHE-ECDSA-AES256-GCM-SHA384:!ECDHE-ECDSA-AES128-GCM-SHA256:!ECDHE-ECDSA-AES256-SHA384:!ECDHE-ECDSA-AES128-SHA256:!ECDHE-ECDSA-AES256-SHA:!ECDHE-ECDSA-AES128-SHA:!ECDHE-RSA-AES256-SHA384:!ECDHE-RSA-AES128-SHA256:!ECDHE-RSA-AES256-SHA:!ECDHE-RSA-AES128-SHA:!DHE-RSA-AES256-GCM-SHA384:!DHE-RSA-AES128-GCM-SHA256:!DHE-RSA-AES256-SHA:!DHE-RSA-AES128-SHA:!DHE-DSS-AES256-SHA256:!DHE-DSS-AES128-SHA256:!DHE-DSS-AES256-SHA:!DHE-DSS-AES128-SHA:!DHE-DSS-DES-CBC3-SHA:!NULL-SHA256:!NULL-SHAMulai ulang SQL Server dengan perintah berikut.
sudo systemctl restart mssql-server
Anda tidak dapat mengembalikan database SQL Server 2014 (12.x) pada Windows yang menggunakan OLTP In-Memory ke SQL Server on Linux. Jika database SQL Server 2014 (12.x) Anda menggunakan OLTP In-Memory, mutakhirkan database ke versi SQL Server yang lebih baru pada Windows. Kemudian, pindahkan ke SQL Server di Linux, dengan backup/restore, atau detach/attach.
Linux saat ini tidak mendukung
ADMINISTER BULK OPERATIONSizin pengguna.Anda tidak dapat mengembalikan cadangan terkompresi Transparent Data Encryption (TDE) yang dibuat dengan SQL Server 2019 (15.x) CU 16 dan versi selanjutnya ke versi CU sebelumnya dari SQL Server 2019 (15.x). Untuk informasi selengkapnya, lihat MEMPERBAIKI: Kesalahan 3241 terjadi selama menjalankan RESTORE LOG atau RESTOREDATABASE.
Anda masih dapat menggunakan SQL Server 2019 (15.x) CU 16 dan versi yang lebih baru untuk mengembalikan cadangan yang dikompresi TDE yang dibuat dengan versi CU sebelumnya dari SQL Server 2019 (15.x).
Saat Anda menginstal SQL Server 2022 (16.x) pada Ubuntu 22.04, Anda mungkin melihat pesan kesalahan berikut:
Failed to start Microsoft SQL Server Database Engine. Jika Anda meninjau log kesalahan, Anda akan melihat jalur yang salah untuk database sistem.Untuk mengatasi masalah ini, mulai instans dalam mode pengguna tunggal, dan gunakan
ALTER DATABASE ... MODIFY FILEuntuk memindahkan lokasi database sistem yang dikonfigurasi ke lokasi/var/opt/mssql/datadefault . Setelah Anda melakukan perubahan ini, restart layanan.
Jaringan
Fitur yang melibatkan koneksi TCP keluar dari sqlservr proses, seperti server terhubung, PolyBase, atau grup ketersediaan, mungkin tidak berfungsi jika kedua kondisi berikut berlaku:
Server target ditentukan sebagai nama host dan bukan alamat IP.
Instans sumber menonaktifkan IPv6 di kernel. Untuk memverifikasi apakah sistem Anda mengaktifkan IPv6 di kernel, semua pengujian berikut harus lulus:
-
cat /proc/cmdlinemencetak baris perintah boot dari kernel saat ini. Output tidak boleh berisiipv6.disable=1. - Direktori
/proc/sys/net/ipv6/harus ada. - Program C yang bisa menelepon
socket(AF_INET6, SOCK_STREAM, IPPROTO_IP)seharusnya berhasil. Syscall harus mengembalikanfd != -1dan tidak boleh mengalami kegagalan denganEAFNOSUPPORT.
-
Kesalahan yang tepat tergantung pada fitur . Untuk server tertaut, Anda akan melihat kesalahan batas waktu masuk. Untuk grup ketersediaan, ALTER AVAILABILITY GROUP JOIN DDL pada sekunder gagal setelah lima menit karena ada error download configuration timeout .
Untuk mengatasi masalah ini, lakukan salah satu opsi berikut:
Gunakan IP alih-alih nama host untuk menentukan target koneksi TCP.
Aktifkan IPv6 di kernel dengan menghapus
ipv6.disable=1dari baris perintah boot. Metode ini tergantung pada distribusi Linux dan bootloader, seperti grub. Jika Anda ingin IPv6 dinonaktifkan, Anda masih dapat menonaktifkannya dengan mengaturnet.ipv6.conf.all.disable_ipv6 = 1dalamsysctlkonfigurasi (misalnya,/etc/sysctl.conf). Meskipun pengaturan ini mencegah adaptor jaringan sistem mendapatkan alamat IPv6, pengaturan ini memungkinkansqlservrfitur berfungsi.
TLS 1.3 tidak didukung pada SQL Server 2022
Berlaku untuk: SQL Server 2022 (16.x) saja.
Meskipun TLS 1.3 didukung pada SQL Server 2022 (16.x) untuk Windows, Anda harus menggunakan TLS 1.2 di Linux.
Nota
TLS 1.3 didukung untuk SQL Server 2025 (17.x) pada Ubuntu 22.04, Ubuntu 24.04, RHEL 9, dan RHEL 10. TLS 1.3 diaktifkan secara default.
Sistem File Jaringan (NFS)
Jika Anda menggunakan berbagi jarak jauh Network File System (NFS) dalam produksi, perhatikan persyaratan dukungan berikut:
Gunakan NFS versi 4.2 atau versi yang lebih baru. Versi NFS yang lebih lama tidak mendukung fitur yang diperlukan, seperti
fallocatedan pembuatan file sparse, yang umum pada sistem file modern.Hanya direktori
/var/opt/mssqlyang didukung pada mount NFS. File lain, seperti biner sistem SQL Server, tidak didukung.Pastikan klien NFS menggunakan opsi
nolocksaat memasang berbagi jarak jauh.
Konektivitas IPv6 dengan autentikasi Microsoft Entra
Jika server atau kontainer Anda diaktifkan untuk IPv6, pastikan bahwa alamat IPv6 dapat dijangkau dan dapat dirutekan. Jika IPv6 tidak sepenuhnya dikonfigurasi, permintaan autentikasi ke Microsoft Entra ID mungkin gagal karena titik akhir IPv6 yang tidak dapat dijangkau.
Untuk mengontrol perilaku resolusi DNS IPv6 pada SQL Server 2022 CU 19 dan versi yang lebih baru, atur network.ipv6dnsrecordslimit opsi di mssql-conf. Untuk informasi selengkapnya, lihat network.ipv6dnsrecordslimit.
Lokalisasi
Jika lokal Anda bukan bahasa Inggris (
en_us) selama penyiapan, Anda harus menggunakan pengodean UTF-8 di sesi/terminal bash Anda. Jika Anda menggunakan pengodean ASCII, Anda mungkin melihat kesalahan yang mirip dengan output berikut:UnicodeEncodeError: codec 'ascii' tidak dapat mengodekan karakter u'\xf1' di posisi 8: ordinal tidak dalam rentang(128)
Jika Anda tidak dapat menggunakan pengkodean UTF-8, jalankan setup dengan
MSSQL_LCIDvariabel environment untuk menentukan pilihan bahasa Anda.sudo MSSQL_LCID=<LcidValue> /opt/mssql/bin/mssql-conf setupSaat Anda menjalankan
mssql-conf setupdan melakukan instalasi SQL Server non-Inggris, Anda mungkin melihat karakter ekstensi yang salah setelah teks yang dilokalkan, "Mengonfigurasi SQL Server... ". Atau, untuk penginstalan berbasis non-Latin, kalimat mungkin hilang sepenuhnya. Kalimat yang hilang harus menampilkan string yang dilokalkan berikut:PID lisensi berhasil diproses. Edisi baru adalah [<Edisi nama> ].
String ini hanya muncul untuk tujuan informasi dan tidak memengaruhi instalasi SQL Server.
Pencarian teks-lengkap
Tidak semua filter tersedia dengan rilis ini, termasuk filter untuk dokumen Microsoft Office. Untuk daftar filter yang didukung, lihat Install SQL Server Full-Text Search di Linux.
Layanan Integrasi SQL Server (SSIS)
Paket mssql-server-is tidak didukung di SUSE Linux Enterprise Server (SLES). Paket ini didukung di Ubuntu dan Red Hat Enterprise Linux (RHEL).
Paket Integration Services dapat menggunakan koneksi ODBC di Linux. Fungsi ini bekerja dengan driver SQL Server dan MySQL ODBC, dan juga seharusnya dapat bekerja dengan driver Unicode ODBC apa pun yang mematuhi spesifikasi ODBC. Pada saat desain, sediakan DSN atau string koneksi untuk terhubung ke data ODBC; Anda juga dapat menggunakan Windows authentication. Untuk informasi selengkapnya, lihat posting blog yang mengumumkan dukungan ODBC di Linux.
Rilis ini tidak mendukung fitur-fitur berikut saat Anda menjalankan paket SSIS di Linux:
- Basis Data Katalog Layanan Integrasi
- Eksekusi paket terjadwal dengan SQL Server Agent
- Autentikasi Windows
- Komponen pihak ketiga
- Mengubah pengambilan data (CDC)
- Peluasan Skala Layanan Integrasi
- Paket Fitur Azure untuk SSIS
- Dukungan Hadoop dan HDFS
- konektor Microsoft untuk SAP BW
Untuk daftar komponen SSIS bawaan dengan dukungan terbatas atau tanpa dukungan, lihat Dukungan fitur dan pertimbangan untuk Layanan Integrasi SQL Server (SSIS) di Linux.
Untuk informasi selengkapnya tentang SSIS di Linux, lihat artikel berikut ini:
- Posting blog mengumumkan dukungan SSIS untuk Linux.
- Pasang Layanan Integrasi SQL Server (SSIS) di Linux
- Mengekstrak, mengubah, dan memuat data di Linux dengan SSIS
SQL Server Management Studio (SSMS)
Batasan berikut berlaku untuk SQL Server Management Studio pada Windows tersambung ke SQL Server on Linux.
Rencana pemeliharaan tidak dapat didukung.
Fitur Management Data Warehouse (MDW) dan pengumpul data di SQL Server Management Studio tidak didukung.
SQL Server Management Studio komponen UI yang memiliki opsi Autentikasi Windows atau log peristiwa Windows tidak berfungsi dengan Linux. Anda masih dapat menggunakan fitur-fitur ini dengan opsi lain, seperti SQL Server login.
Anda tidak dapat mengubah jumlah file log yang harus dipertahankan.
Ketersediaan tinggi dan pemulihan bencana
Berlaku untuk: SQL Server 2022 (16.x) saja.
Saat Anda menjalankan SQL Server 2022 (16.x) CU 16 dan versi yang lebih lama, pada RHEL 9 sebagai aplikasi terbatas dengan SELinux diaktifkan, pengklusteran Pacemaker mungkin tidak berfungsi seperti yang diharapkan. Anda harus menginstal SQL Server 2022 (16.x) sebagai aplikasi tanpa batas dengan SELinux aktif untuk menggunakan kemampuan clustering Pacemaker. Masalah ini diselesaikan pada SQL Server 2022 (16.x) CU 17.
Layanan Pembelajaran Mesin
Berlaku untuk: SQL Server 2022 (16.x) saja.
Untuk paket SQL Server 2022 (16.x) untuk RHEL 9 dan Ubuntu 22.04, pertimbangkan prasyarat ini cgroup-v1 sebelum Anda menginstal Pembelajaran Mesin Services.
Sebagai prasyarat, aktifkan
cgroup-v1seperti yang didokumentasikan dalam Menggunakan cgroupfs untuk mengelola cgroups Red Hat Enterprise Linux 9 secara manual dari Red Hat.Kemudian ikuti instruksi untuk insstall SQL Pembelajaran Mesin Services seperti yang didokumenkan.
Nonaktifkan isolasi namespace jaringan.
sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 1Mulai ulang
mssql-launchpaddlayanan agar perubahan ini berlaku.sudo systemctl restart mssql-launchpadd
Masalah yang diketahui di SQL Server 2025
Masalah berikut memengaruhi SQL Server 2025 (17.x).
SQL Server on Linux gagal memulai komputer dengan arsitektur CPU hibrid
Issue: SQL Server instance di Linux mungkin gagal dimulai jika mesin menggunakan CPU arsitektur hibrid Intel 12th Gen atau yang lebih baru, dan sistem operasi host adalah Linux.
Anda mungkin melihat pesan kesalahan yang mirip dengan output berikut:
Reason: 0x00000004 Message: ASSERT: Expression=(result * DrtlGetProcessorCoreCount() == DrtlGetProcessorCount()) File=LibOS\Windows\Kernel\SQLPal\common\dk\sos\src\sosnumap.cpp Line=208
Jika Anda ingin menggunakan sistem operasi host Linux, Anda dapat mengatasi masalah ini dengan menonaktifkan inti efisiensi (E-core) di BIOS Anda. Jika Anda menggunakan kontainer, atau hypervisor seperti Hyper-V pada Windows (termasuk WSL), masalah ini tidak berdampak pada Anda.
Model ONNX lokal tidak didukung pada sistem operasi Linux
BUAT MODEL EKSTERNAL model ONNX lokal yang dihosting langsung di SQL Server saat ini tidak tersedia untuk Linux pada SQL Server 2025 (17.x).