ทาง Microsoft ได้ออก SQL Server ที่ติดตั้งบนลีนุกซ์ได้มานานพอสมควรล่ะ โดยเวอร์ชันล่าสุดตอนนี้เป็น 2019 สามารถรันได้บนลีนุกซ์หลายเวอร์ชันทั้ง Red Hat, SUSE หรือ Ubuntu
ลองมาดูขั้นตอนการติดตั้ง Microsoft SQL Server 2019 บน Ubuntu 18.04 กัน
หมายเหตุ สำหรับ SQL Server บน Ubuntu 20.04 ทาง Microsoft ยังไม่ได้ support อย่างเป็นทางการ จริงๆ ก็พอลงได้ แต่เกรงจะมีปัญหาเลยลองกับ 18.04 ก่อน
ติดตั้ง GPG Key เพื่อใช้ตรวจสอบความถูกต้อง เวลาติดตั้งแพ็คเกจ
$ wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
เพิ่ม Microsoft SQL Server Ubuntu repository เข้ามาในเครื่อง
$ sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2019.list)"
รันคำสั่ง apt
เพื่อติดตั้งแพ็คเกจ SQL Server
$ sudo apt update
$ sudo apt install -y mssql-server
รันคำสั่ง mssql-conf setup
เพื่อคอนฟิกค่าเริ่มต้นของ SQL Server
$ sudo /opt/mssql/bin/mssql-conf setup
supasin@u18-sql2019:~$ sudo /opt/mssql/bin/mssql-conf setup
usermod: no changes
Choose an edition of SQL Server:
1) Evaluation (free, no production use rights, 180-day limit)
2) Developer (free, no production use rights)
3) Express (free)
4) Web (PAID)
5) Standard (PAID)
6) Enterprise (PAID) - CPU Core utilization restricted to 20 physical/40 hyperthreaded
7) Enterprise Core (PAID) - CPU Core utilization up to Operating System Maximum
8) I bought a license through a retail sales channel and have a product key to enter.
Details about editions can be found at
https://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x409
Use of PAID editions of this software requires separate licensing through a
Microsoft Volume Licensing program.
By choosing a PAID edition, you are verifying that you have the appropriate
number of licenses in place to install and run this software.
Enter your edition(1-8):
เลือก edition ของการใช้งาน
ในที่นี้ขอเลือก 3
ซึ่งเป็นแบบ Express
ในส่วนถัดมาจะเป็นเรื่อง License ต้องตอบ Yes
เพื่อยอมรับ
The license terms for this product can be found in
/usr/share/doc/mssql-server or downloaded from:
https://go.microsoft.com/fwlink/?LinkId=2104294&clcid=0x409
The privacy statement can be viewed at:
https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409
Do you accept the license terms? [Yes/No]:Yes
ถัดไปจะให้ระบุรหัสผ่านของ sa
Enter the SQL Server system administrator password:
Confirm the SQL Server system administrator password:
Configuring SQL Server...
The licensing PID was successfully processed. The new edition is [Express Edition].
ForceFlush is enabled for this instance.
ForceFlush feature is enabled for log durability.
Created symlink /etc/systemd/system/multi-user.target.wants/mssql-server.service → /lib/systemd/system/mssql-server.service.
Setup has completed successfully. SQL Server is now starting.
การคอนฟิก SQL Server เสร็จเรียบร้อย
รันคำสั่ง systemctl status
เพื่อตรวจสอบสถานะการรัน SQL Server
$ systemctl status mssql-server --no-pager
● mssql-server.service - Microsoft SQL Server Database Engine
Loaded: loaded (/lib/systemd/system/mssql-server.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2020-11-25 05:36:43 UTC; 39s ago
Docs: https://docs.microsoft.com/en-us/sql/linux
Main PID: 3105 (sqlservr)
Tasks: 137
CGroup: /system.slice/mssql-server.service
├─3105 /opt/mssql/bin/sqlservr
└─3148 /opt/mssql/bin/sqlservr
Nov 25 05:36:51 u18-sql2019 sqlservr[3105]: [155B blob data]
Nov 25 05:36:51 u18-sql2019 sqlservr[3105]: [61B blob data]
Nov 25 05:36:52 u18-sql2019 sqlservr[3105]: [96B blob data]
บรรทัด Active
ต้องขึ้นว่า active (running)
เพื่อแสดงว่าเซอร์วิสรันอยู่
ขั้นต่อมา หากต้องการใข้คำสั่งเพื่อเชื่อมต่อกับ SQL Server เช่น sqlcmd
จะต้องติดตั้งแพ็คเกจเพิ่มเติม
ติดตั้ง Repository ที่เก็บแพ็คเกจ tools
$ curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
รันคำสั่ง apt
เพื่อติดตั้งแพ็คเกจ mssql-tools
$ sudo apt update
$ sudo apt install -y mssql-tools unixodbc-dev
ตัวอย่างที่อยู่ของไฟล์คำสั่งที่ได้จากการติดตั้ง
$ ls -l /opt/mssql-tools/bin/
total 612
-rwxr-xr-x 1 root root 197544 Jul 4 05:48 bcp
-rwxr-xr-x 1 root root 421976 Jul 4 05:48 sqlcmd
เนื่องจาก /opt/mssql-tools/bin/
ไม่อยู่ในพาธมาตรฐาน เราต้องเพิ่มคอนฟิก PATH
$ echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
$ source ~/.bash_profile
ทดลองรันคำสั่ง sqlcmd
เพื่อเชื่อมต่อกับ SQL Server