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.
Berlaku untuk:SQL Server di Linux
Subsistem Windows untuk Linux (WSL) adalah fitur di Windows yang memungkinkan Anda menjalankan lingkungan Linux langsung di komputer Windows Anda, tanpa perlu komputer virtual atau booting ganda. WSL memberikan pengalaman yang mulus dan produktif bagi pengembang yang ingin menggunakan Windows dan Linux secara bersamaan. Untuk informasi selengkapnya, lihat Apa itu Subsistem Windows untuk Linux?
SQL Server di WSL hanya untuk penggunaan pengembangan
SQL Server di WSL 2 ditujukan hanya untuk tujuan pengembangan, dan tidak didukung untuk beban kerja produksi. Sebaiknya jalankan SQL Server di lingkungan WSL di salah satu platform Didukung seperti yang didokumentasikan, untuk versi SQL Server yang ingin Anda jalankan.
Untuk masalah terkait dukungan apa pun, Anda dapat mendapatkan dukungan dari Microsoft.
Mulai menggunakan SQL Server di WSL 2
Ada dua cara untuk mulai menggunakan SQL Server di WSL 2:
Instal SQL Server sebagai layanan
systemd, yang dapat dikelola menggunakan perintahsystemctl. Pastikan Anda mengaktifkansystemddi WSL. Untuk informasi selengkapnya, lihat Cara mengaktifkan systemd.Sebarkan kontainer SQL Server di WSL. Untuk opsi ini, Anda perlu menginstal mesin kontainer Linux di WSL, seperti Docker atau Podman, lalu menyebarkan kontainer SQL Server.
Prasyarat
Instal WSL 2. Pastikan Anda menjalankan Windows 10 versi 2004 atau versi yang lebih baru (Build 19041 dan yang lebih tinggi), atau Windows 11. Untuk menginstal WSL, buka perintah PowerShell atau Windows dalam mode administrator, dan ikuti instruksi di bagian berikutnya.
Untuk instruksi terperinci, lihat Cara menginstal Linux di Windows dengan WSL. Untuk informasi tentang menyiapkan lingkungan WSL untuk pengembangan, lihat Menyiapkan lingkungan pengembangan WSL.
Menginstal SQL Server di WSL
Bagian ini menjelaskan langkah-langkah untuk menyiapkan distribusi Linux di WSL, dan cara menginstal SQL Server dalam distribusi Linux tersebut.
Pilih distribusi Linux
Anda dapat mencantumkan semua distribusi valid yang dapat diinstal di WSL menggunakan perintah berikut:
wsl -l -o
Output terlihat mirip dengan contoh berikut.
The following is a list of valid distributions that can be installed.
Install using 'wsl.exe --install <Distro>'.
NAME FRIENDLY NAME
Ubuntu Ubuntu
Debian Debian GNU/Linux
kali-linux Kali Linux Rolling
Ubuntu-18.04 Ubuntu 18.04 LTS
Ubuntu-20.04 Ubuntu 20.04 LTS
Ubuntu-22.04 Ubuntu 22.04 LTS
Ubuntu-24.04 Ubuntu 24.04 LTS
OracleLinux_7_9 Oracle Linux 7.9
OracleLinux_8_7 Oracle Linux 8.7
OracleLinux_9_1 Oracle Linux 9.1
openSUSE-Leap-15.6 openSUSE Leap 15.6
SUSE-Linux-Enterprise-15-SP5 SUSE Linux Enterprise 15 SP5
SUSE-Linux-Enterprise-15-SP6 SUSE Linux Enterprise 15 SP6
openSUSE-Tumbleweed openSUSE Tumbleweed
Untuk mulai cepat ini, instal Ubuntu 22.04, lalu instal SQL Server 2022 ke dalam distribusi tersebut.
Untuk menginstal Ubuntu 22.04, jalankan perintah berikut. Catat akun pengguna dan kata sandi UNIX. Dalam contoh ini, gunakan wsluser sebagai nama pengguna.
wsl --install -d Ubuntu-22.04
Anda akan melihat output yang mirip dengan contoh berikut. Pada akhirnya, itu harus menunjukkan bahwa Anda masuk ke shell bash Ubuntu 22.04.
Installing: Ubuntu 22.04 LTS
Ubuntu 22.04 LTS has been installed.
Launching Ubuntu 22.04 LTS...
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: wsluser
New password:
Retype new password:
passwd: password updated successfully
Installation successful!
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.167.4-microsoft-standard-WSL2 x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/pro
System information as of Tue Dec 3 00:32:14 IST 2024
System load: 0.33 Processes: 32
Usage of /: 0.1% of 1006.85GB Users logged in: 0
Memory usage: 2% IPv4 address for eth0: 10.18.123.249
Swap usage: 0%
This message is shown once a day. To disable it please create the
/home/wsluser/.hushlogin file.
Menginstal SQL Server
Setelah masuk ke shell bash Ubuntu 22.04, Anda dapat mengikuti langkah-langkah yang diuraikan dalam Mulai Cepat: Menginstal SQL Server dan membuat database di Ubuntu untuk menginstal SQL Server 2022.
Anda juga perlu menginstal alat baris perintah SQL Server.
Mendapatkan alamat IP
Untuk mengidentifikasi alamat IP yang akan disambungkan menggunakan SQL Server Management Studio (SSMS), jalankan perintah ifconfig sebagai berikut:
ifconfig
Anda akan melihat output yang mirip dengan contoh berikut.
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.19.50.241 netmask 255.255.240.0 broadcast 10.19.63.255
inet6 fe80::215:5dff:fe76:c05d prefixlen 64 scopeid 0x20<link>
ether 00:15:5d:76:c0:5d txqueuelen 1000 (Ethernet)
RX packets 2146 bytes 1452448 (1.4 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1905 bytes 345288 (345.2 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 2039 bytes 4144340 (4.1 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2039 bytes 4144340 (4.1 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Menyebarkan kontainer SQL Server di WSL
Untuk menyebarkan kontainer di WSL, Pertama-tama Anda perlu menginstal mesin kontainer Linux, seperti Docker. Untuk informasi selengkapnya, lihat Mulai menggunakan kontainer jarak jauh Docker di WSL. Setelah Anda menginstal mesin Docker, sebarkan gambar kontainer SQL Server sebagai berikut.
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" \
-e "MSSQL_PID=Developer" -e "MSSQL_AGENT_ENABLED=true" \
-p 14333:1433 --name sqlcontainerwsl --hostname sqlcontainerwsl \
-d mcr.microsoft.com/mssql/server:2022-latest
Saat Anda menyebarkan kontainer untuk SQL Server 2025 (17.x) atau versi yang lebih baru, gunakan MSSQL_PID=DeveloperStandard untuk edisi Pengembang Standar, dan MSSQL_PID=Developer untuk edisi Pengembang Perusahaan.
Nota
Kata sandi Anda harus mengikuti kebijakan kata sandi default SQL Server. Secara default, kata sandi harus panjangnya minimal delapan karakter dan berisi karakter dari tiga dari empat set berikut: huruf besar, huruf kecil, digit dasar-10, dan simbol. Panjang kata sandi bisa hingga 128 karakter. Gunakan kata sandi yang panjang dan kompleks mungkin.
Menambahkan penyimpanan persisten dengan WSL untuk kontainer SQL Server
Anda dapat membuat volume data seperti yang dijelaskan di Memasang direktori host sebagai volume data.
Misalnya, jalankan perintah berikut untuk menyiapkan volume bernama sql_volume yang terletak di /var/opt/mssql/.
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" \
-e "MSSQL_PID=Developer" -e "MSSQL_AGENT_ENABLED=true" \
-p 14333:1433 --name sqlcontainerwsl --hostname sqlcontainerwsl \
-v sql_volume:/var/opt/mssql/ \
-d mcr.microsoft.com/mssql/server:2022-latest
Saat Anda menyebarkan kontainer untuk SQL Server 2025 (17.x) atau versi yang lebih baru, gunakan MSSQL_PID=DeveloperStandard untuk edisi Pengembang Standar, dan MSSQL_PID=Developer untuk edisi Pengembang Perusahaan.
Bahkan jika Anda menjalankan perintah wsl --terminate, data tidak hilang. Saat Anda memulai WSL lagi dan menjalankan perintah docker run untuk menyebarkan menggunakan volume sql_volume, WSL masih memiliki semua data yang utuh.
Jika Anda ingin menghapus volume yang bertahan, pastikan bahwa kontainer yang menggunakan volume dihentikan dan dihapus, dan jalankan perintah berikut.
docker volume rm sql_volume
Komentar
Anda harus dapat mengonfigurasi sebagian besar fitur yang didukung untuk SQL Server di Linux untuk tujuan pengembangan, kecuali fitur kelangsungan bisnis yang bergantung pada tumpukan pengklusteran. Fitur-fitur ini, seperti Pacemaker atau HPE Serviceguard, tidak didukung di WSL.
Untuk daftar lengkap fitur yang tidak didukung untuk SQL Server di Linux, lihat Edisi dan fitur SQL Server 2022 yang didukung di Linux.
Menghubungkan secara lokal
Langkah-langkah berikut menggunakan sqlcmd untuk menyambungkan secara lokal ke instans SQL Server baru Anda.
Peringatan
Kata sandi Anda harus mengikuti kebijakan kata sandi default SQL Server. Secara default, kata sandi harus panjangnya minimal delapan karakter dan berisi karakter dari tiga dari empat set berikut: huruf besar, huruf kecil, digit dasar-10, dan simbol. Panjang kata sandi bisa hingga 128 karakter. Gunakan kata sandi yang panjang dan kompleks mungkin.
Jalankan sqlcmd dengan parameter untuk nama SQL Server Anda (
-S), nama pengguna (-U), dan kata sandi (-P). Dalam tutorial ini, Anda terhubung secara lokal, sehingga nama serverlocalhost. Nama penggunasadan kata sandi adalah nama yang Anda berikan untuk akunsaselama penyiapan.sqlcmd -S localhost -U sa -P '<password>'Nota
Versi sqlcmd yang lebih baru aman secara default. Untuk informasi selengkapnya tentang enkripsi koneksi, lihat utilitas sqlcmd untuk Windows, dan Menyambungkan dengan sqlcmd untuk Linux dan macOS. Jika koneksi tidak berhasil, Anda dapat menambahkan opsi
-Nountuk sqlcmd untuk menentukan bahwa enkripsi bersifat opsional, bukan wajib.Anda dapat menghilangkan kata sandi pada baris perintah yang akan diminta untuk memasukkannya.
Jika nanti Anda memutuskan untuk terhubung dari jarak jauh, tentukan nama mesin atau alamat IP untuk parameter
-S, dan pastikan port 1433 terbuka di firewall Anda.Jika berhasil, Anda harus masuk ke prompt perintah sqlcmd:
1>.Jika Anda mendapatkan kegagalan koneksi, pertama-tama coba diagnosis masalah dari pesan kesalahan. Kemudian tinjau rekomendasi pemecahan masalah koneksi .
Membuat dan mengkueri data
Bagian berikut memandu Anda menggunakan sqlcmd untuk membuat database baru, menambahkan data, dan menjalankan kueri sederhana.
Untuk informasi selengkapnya tentang menulis pernyataan dan kueri Transact-SQL, lihat Tutorial : Menulis pernyataan Transact-SQL.
Membuat database baru
Langkah-langkah berikut membuat database baru bernama TestDB.
Dari prompt perintah sqlcmd , tempelkan perintah Transact-SQL berikut untuk membuat database uji coba:
CREATE DATABASE TestDB;Pada baris berikutnya, tulis kueri untuk mengembalikan nama semua database di server Anda:
SELECT Name FROM sys.databases;Dua perintah sebelumnya tidak segera dijalankan. Anda harus mengetik
GOpada baris baru untuk menjalankan perintah sebelumnya:GO
Sisipkan data
Selanjutnya buat tabel baru, dbo.Inventory, dan sisipkan dua baris baru.
Dari prompt perintah sqlcmd, alihkan konteks ke database
TestDByang baru.USE TestDB;Buat tabel baru bernama
dbo.Inventory:CREATE TABLE dbo.Inventory ( id INT, name NVARCHAR (50), quantity INT, PRIMARY KEY (id) );Sisipkan data ke dalam tabel baru:
INSERT INTO dbo.Inventory VALUES (1, 'banana', 150); INSERT INTO dbo.Inventory VALUES (2, 'orange', 154);Ketik
GOuntuk menjalankan perintah sebelumnya:GO
Pilih data
Sekarang, jalankan kueri untuk mengembalikan data dari tabel dbo.Inventory.
Dari prompt perintah sqlcmd, masukkan kueri yang menampilkan baris dari tabel
dbo.Inventorydi mana jumlah lebih besar dari 152.SELECT * FROM dbo.Inventory WHERE quantity > 152;Jalankan perintah:
GO
Keluar dari prompt perintah sqlcmd
Untuk mengakhiri sesi sqlcmd Anda, ketik QUIT:
QUIT
Praktik terbaik untuk performa
Setelah menginstal SQL Server di Linux, tinjau praktik terbaik untuk mengonfigurasi Linux dan SQL Server untuk meningkatkan performa skenario produksi. Untuk informasi selengkapnya, lihat praktik terbaik performa dan panduan konfigurasi untuk SQL Server di Linux.
Alat data lintas platform
Selain sqlcmd, Anda dapat menggunakan alat lintas platform berikut untuk mengelola SQL Server:
| Alat | Deskripsi |
|---|---|
| Visual Studio Code | Editor kode GUI lintas platform yang menjalankan pernyataan Transact-SQL dengan ekstensi MSSQL. |
| PowerShell | Alat otomatisasi dan konfigurasi lintas platform berdasarkan cmdlet. |
| mssql-cli | Antarmuka baris perintah lintas platform untuk menjalankan perintah Transact-SQL. |
Menghubungkan dari Windows
Alat SQL Server di Windows terhubung ke instans SQL Server di Linux dengan cara yang sama seperti mereka akan terhubung ke instans SQL Server jarak jauh apa pun.
Jika Anda memiliki komputer Windows yang dapat tersambung ke komputer Linux Anda, coba langkah yang sama dalam artikel ini dari perintah Windows yang menjalankan sqlcmd. Anda harus menggunakan nama komputer Linux target atau alamat IP daripada localhost, dan memastikan bahwa port TCP 1433 terbuka pada komputer SQL Server. Jika Anda mengalami masalah saat menyambungkan dari Windows, lihat rekomendasi pemecahan masalah koneksi .
Untuk alat lain yang berjalan di Windows tetapi tersambung ke SQL Server di Linux, lihat:
Skenario penyebaran lainnya
Untuk skenario penginstalan lainnya, lihat sumber daya berikut:
- Memperbarui: Pelajari cara memperbarui instalasi SQL Server yang ada di Linux
- Copot pemasangan: Copot pemasangan SQL Server di Linux
- Penginstalan tanpa pengawas: Pelajari cara membuat skrip penginstalan tanpa perintah
- Instalasi offline: Pelajari cara mengunduh paket-paket secara manual untuk instalasi offline
Untuk jawaban atas pertanyaan yang sering diajukan, lihat SQL Server di Linux FAQ.
Konten terkait
Berkontribusi pada dokumentasi SQL
Tahukah Anda bahwa Anda dapat mengedit konten SQL sendiri? Jika Anda melakukannya, Anda tidak hanya membantu meningkatkan dokumentasi kami, tetapi Anda juga dikreditkan sebagai kontributor ke halaman.
Untuk informasi selengkapnya, lihat Mengedit dokumentasi Microsoft Learn.