在Ubuntu下安裝Microsoft SQL Server 2022
單純記錄在Linux環境中(Ubuntu 22.04)安裝Microsoft SQL Server 2022的歷程,沒有啥營養。
事前確認
確認你的Linux版本是Ubuntu 22.04
,如果搞錯版本會變得困難重重一堆錯誤,因為微軟目前只有支援幾個OS版本。另外就是Ubuntu安裝時期會有自動升級的選項,請在安裝過程中防範這個選項被勾選到,否則會導致安裝到一半一噴出錯誤的機率極高。可以輸入下列指令查詢Ubuntu的版本號:
lsb_release -a
先切換到root
先把每個步驟都在那邊煩人的sudo消除掉,直接切換到root。
sudo -i
匯入公開存放庫 GPG 金鑰
依據微軟官方文件把GPG金鑰匯入儲存至主機:
curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg
更新公開金鑰簽名:
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
如果你沒有更新公開金鑰簽名,會在apt-get update
時期噴出下列類似金鑰簽名失敗錯誤:
W: GPG error: https://packages.microsoft.com/ubuntu/22.04/mssql-server-2022 jammy InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY EB3E94ADBE1229CF
手動下載並註冊SQL Server Ubuntu存放庫
指定mssql-server-2022
版本:
curl -fsSL https://packages.microsoft.com/config/ubuntu/22.04/mssql-server-2022.list | sudo tee /etc/apt/sources.list.d/mssql-server-2022.list
透過apt-get安裝SQL Server 2022
apt-get update
apt-get install -y mssql-server
設定SQL Server 2022
進入設定模式
/opt/mssql/bin/mssql-conf setup
測試用途建議選擇Developer
版本、允許
授權協議,並且設定密碼
,設定後系統會自動幫你把SQL Server運行起來。
設定SQL Server的定序
首先要將SQL Server執行狀態進行關閉
systemctl stop mssql-server
設定定序,基本上台灣最常見的預設值就是設定Chinese_Taiwan_Stroke_CI_AS
,亦即:筆畫排序、不區分大小寫、區分腔調字。
/opt/mssql/bin/mssql-conf set-collation
Enter the collation: Chinese_Taiwan_Stroke_CI_AS
設定之後重新將SQL Server開啟即可
systemctl start mssql-server
查看SQL Server 2022運行狀態
透過下列指令,如果在Console中有看到綠色的active (runnung)
就代表有跑起來了。
systemctl status mssql-server
重新啟動SQL Server
systemctl restart mssql-server
關閉SQL Server
systemctl stop mssql-server
如果伺服器上面有SQL Server的且需要關機的話,最好先將SQL Server服務停止再進行關機比較不會造成寫入中斷之類的問題。
systemctl stop mssql-server
shutdown -h now
透過SSMS進行連線測試
首先在Ubuntu查詢本機IP,取得IP位址後以便連線SSMS。
ip address
開啟SSMS輸入sa
帳號與剛才設定的密碼
,證明進行資料庫的連線沒有錯誤。(若有問題請檢查防火牆是否有阻擋)
相關連結
- 在Ubuntu下安裝Microsoft SQL Server 2022
- 在Ubuntu下進行mssql-server之資料桶(Catalog)備份與異地還原
- 在Ubuntu下安裝sqlcmd(for mssql-server)
- 在Ubuntu下透過cron執行SQL完整備份