Linux 上的 SQL Server 的安裝指引
適用於:SQL Server - Linux
本文提供在 Linux 上安裝、更新及解除安裝 SQL Server 2017 (14.x)、SQL Server 2019 (15.x) 和 SQL Server 2022 (16.x) 的指導方針。
如需了解其他部署案例,請參閱:
- Windows
- Linux 容器
- Kubernetes - 巨量資料叢集 (僅 SQL Server 2019 (15.x))
本指南涵蓋數個部署案例。 如果您只是需要逐步安裝指示,請跳到其中一個快速入門:
- 快速入門:在 Red Hat 上安裝 SQL Server 並建立資料庫
- 快速入門:在 SUSE Linux Enterprise Server 上安裝 SQL Server 並建立資料庫
- 快速入門:在 Ubuntu 上安裝 SQL Server 並建立資料庫
- 快速入門:使用 Docker 執行 SQL Server Linux 容器映像
如需常見問題的解答,請參閱 Linux 上的 SQL Server 常見問題集。
SQL Server 的支援原則
詞彙 | 定義 |
---|---|
服務 | Microsoft 產品生命週期內針對支持的發行版發行 GDR、Hotfix 和安全性修正。 |
支援 | Microsoft 支援服務與支援散發套件相關的問題的使用者。 |
支援原則
在 Linux 散發套件上支援 SQL Server,直到兩個事件之前為止:發行版的支援生命週期結束,或 SQL Server 支援生命週期的結束。
維護原則
在 SQL Server 的主要支援階段期間,我們會為所有也在其主要支援期間內的 Linux 散發套件提供累積更新 (OU)。 對於從主流到延伸支援的 Linux 發行版,仍可視為支持的平台,Microsoft可以自行釋出 SU 和 Bug 修正。
一旦 SQL Server 超越主要支援,並進入延伸支援階段,我們會繼續發佈安全性更新和一般發行版本 (GDR) 修正程式。 不過,這些更新不會延伸到結束其支援期間的 Linux 發行版。
支援的平台
Red Hat Enterprise Linux (RHEL)、SUSE Linux Enterprise Server (SLES) 及 Ubuntu 都支援 SQL Server。 它還獲得支援,可以容器映像的方式在 Linux 的 Kubernetes、OpenShift 和 Docker 引擎執行。
平台 | 檔案系統 | 安裝指南 |
---|---|---|
Red Hat Enterprise Linux 7.7 - 7.9 伺服器 1 或 8.x 伺服器 | XFS 或 EXT4 | 安裝指南 |
SUSE Linux Enterprise Server v12 SP3 - SP5 2 | XFS 或 EXT4 | 安裝指南 |
Ubuntu 18.04 LTS 3 | XFS 或 EXT4 | 安裝指南 |
Docker Engine 1.8+ (Linux) | N/A | 安裝指南 |
1 在 2024 年 6 月底,RHEL 7.x 從主流維修轉換為延長生命週期支援 (ELS)。 如需詳細資訊,請參閱 Red Hat Enterprise Linux 生命週期 (英文)。
2 2024 年 10 月底,SLES v12 將從標準一般支援轉換為長期 Service Pack 支援 (LTSS)。 如需詳細資訊,請參閱 依產品的產品支援生命週期日期。
3 在 2023 年 4 月底,Ubuntu 18.04 LTS 從標準維修轉換為擴充的安全性維修 (ESM)。 如需詳細資訊,請參閱 Ubuntu 18.04 終止標準支援。
提示
如需詳細資訊,請檢閱適用於 Linux 上的 SQL Server 的系統需求。 如需適用於 SQL Server 的最新支援原則,請參閱 Microsoft SQL Server 的技術支援原則。
您應該在支援的平台上執行生產工作負載,例如 Red Hat Enterprise Linux、SUSE Linux Enterprise Server 和 Ubuntu Pro,因為它們會收到一般 OS 安全性更新,並具有企業資料庫部署所需的支持涵蓋範圍選項。
平台 | 檔案系統 | 安裝指南 | Get |
---|---|---|---|
Red Hat Enterprise Linux 7.7 - 7.9 伺服器 1 或 8.x 伺服器 | XFS 或 EXT4 | 安裝指南 | 取得 RHEL 8 |
SUSE Linux Enterprise Server v12 (SP3 - SP5) 2 或 v15 (SP1 - SP3) | XFS 或 EXT4 | 安裝指南 | 取得 SLES v15 |
Ubuntu 18.04 3 或 20.04 | XFS 或 EXT4 | 安裝指南 | Get Ubuntu 20.04 |
Windows、Mac 或 Linux 上的 Docker Engine 1.8+ | N/A | 安裝指南 | 取得 Docker |
1 在 2024 年 6 月底,RHEL 7.x 從主流維修轉換為延長生命週期支援 (ELS)。 如需詳細資訊,請參閱 Red Hat Enterprise Linux 生命週期 (英文)。
2 2024 年 10 月底,SLES v12 將從標準一般支援轉換為長期 Service Pack 支援 (LTSS)。 如需詳細資訊,請參閱 依產品的產品支援生命週期日期。
3 在 2023 年 4 月底,Ubuntu 18.04 LTS 從標準維修轉換為擴充的安全性維修 (ESM)。 如需詳細資訊,請參閱 Ubuntu 18.04 終止標準支援。
提示
如需詳細資訊,請檢閱適用於 Linux 上的 SQL Server 的系統需求。 如需適用於 SQL Server 的最新支援原則,請參閱 Microsoft SQL Server 的技術支援原則。
您應該在支援的平台上執行生產工作負載,例如 Red Hat Enterprise Linux、SUSE Linux Enterprise Server 和 Ubuntu Pro,因為它們會收到一般 OS 安全性更新,並具有企業資料庫部署所需的支持涵蓋範圍選項。
平台 | 檔案系統 | 安裝指南 | Get |
---|---|---|---|
Red Hat Enterprise Linux 8.x 伺服器或 9.x 伺服器 | XFS 或 EXT4 | 安裝指南 | 取得 RHEL 9 |
SUSE Linux Enterprise Server v15 (SP1 - SP4) | XFS 或 EXT4 | 安裝指南 | 取得 SLES v15 |
Ubuntu 20.04 或 22.04 | XFS 或 EXT4 | 安裝指南 | 取得 Ubuntu 22.04 |
Docker Engine 1.8+ (Linux) | N/A | 安裝指南 | 取得 Docker |
提示
如需詳細資訊,請檢閱適用於 Linux 上的 SQL Server 的系統需求。 如需適用於 SQL Server 的最新支援原則,請參閱 Microsoft SQL Server 的技術支援原則。
Microsoft 也支援使用 OpenShift 和 Kubernetes 來部署和管理 SQL Server 容器。
注意
SQL Server 已針對先前列出的發行版本,在 Linux 上經過測試並受到支援。 但如果選擇在不支援的作業系統上安裝 SQL Server,請檢閱 Microsoft SQL Server 的技術支援原則 \(機器翻譯\) 的<支援原則>一節以了解隱含的支援。
系統需求
SQL Server 具有下列適用於 Linux 的系統需求:
需求 | |
---|---|
記憶體 | 2 GB 1 |
檔案系統 | XFS 或 EXT4 (不支援其他檔案系統,例如 BTRFS) |
磁碟空間 | 6 GB |
處理器速度 | 2 GHz |
處理器核心數 | 2 個核心 |
處理器類型 | 僅相容 x64 |
1 2 GB 是啟動 Linux 上的 SQL Server 所需的最小記憶體大小,可容納系統執行緒和內部進程。 設定最大伺服器記憶體和 MemoryLimitMB 時,您必須考慮此數量。
如果您在生產環境中使用網路檔案系統 (NFS) 遠端共用,請注意下列支援需求:
- 使用 NFS 版本 4.2 或更新的版本。 舊版 NFS 不支援新式檔案系統常用的必要功能,例如
fallocate
和疏鬆檔案建立。 - 僅尋找 NFS 掛接上的
/var/opt/mssql
目錄。 不支援其他檔案,例如 SQL Server 系統二進位檔案。
設定來源存放庫
當您安裝或升級 SQL Server 時,您會從已設定的 Microsoft 存放庫取得最新版本的 SQL Server。 快速入門會使用 SQL Server 的累積更新 CU 存放庫。 如需存放庫和其設定方式的詳細資訊,請參閱設定用於安裝和升級 Linux 上的 SQL Server 的存放庫。
安裝 SQL Server
您可以從命令列在 Linux 上安裝 SQL Server。 如需逐步指示,請參閱下列其中一個快速入門:
平台 | 安裝快速入門 |
---|---|
Red Hat Enterprise Linux (RHEL) | 2017 | 2019 | 2022 |
SUSE Linux Enterprise Server (SLES) | 2017 | 2019 | 2022 |
Ubuntu | 2017 | 2019 | 2022 |
Docker | 2017 | 2019 | 2022 |
您也可以在 Azure 虛擬機器的 Linux 上執行 SQL Server。 如需詳細資訊,請參閱在 Azure 中佈建 SQL VM。
安裝之後,請考慮進行其他額外設定變更以獲得最佳效能。 如需詳細資訊,請參閱 Linux 上的 SQL Server 效能最佳做法和設定方針。
更新或升級 SQL Server
若要將 mssql-server
套件更新為最新版本,請根據您的平台,使用下列其中一個命令:
平台 | 套件更新命令 |
---|---|
RHEL | sudo yum update mssql-server |
SLES | sudo zypper update mssql-server |
Ubuntu | sudo apt-get update sudo apt-get install mssql-server |
這些命令會下載最新的套件,並取代位於 /opt/mssql/
底下的二進位檔。 使用者產生的資料庫和系統資料庫不會受到這項作業的影響。
若要升級 SQL Server,請先變更您設定的存放庫,將其設為所需的 SQL Server 版本。 然後使用相同的update
命令來升級 SQL Server 版本。 只有在兩個存放庫之間支援升級路徑時,才會發生此步驟。
復原 SQL Server
若要將 SQL Server 復原或降級至先前的版本,請使用下列步驟:
確認要降級的目標 SQL Server 套件版本號碼。 如需封裝編號的清單,請參閱版本資訊:
降級為舊版 SQL Server。 在下列命令中,將
<version_number>
取代為您在步驟 1 中確認的 SQL Server 版本號碼。平台 套件更新命令 RHEL sudo yum downgrade mssql-server-<version_number>.x86_64
SLES sudo zypper install --oldpackage mssql-server=<version_number>
Ubuntu sudo apt-get install mssql-server=<version_number>
sudo systemctl start mssql-server
注意
其僅支援降級為降級到相同主要版本 (例如 SQL Server 2022 (16.x)) 中的版本。
檢查已安裝的 SQL Server 版本
若要驗證您 Linux 上的 SQL Server 目前的版本和版次,請使用下列程序:
如果尚未安裝,請參閲在 Linux 上安裝 SQL Server 命令列工具 sqlcmd 和 bcp。
使用 sqlcmd 來執行 Transact-SQL 命令,以顯示您的 SQL Server 版本和版次。
sqlcmd -S localhost -U sa -Q 'select @@VERSION'
解除安裝 SQL Server
若要移除 Linux 上的 mssql-server
套件,請根據您的平台,請使用下列其中一個命令:
平台 | 套件移除命令 |
---|---|
RHEL | sudo yum remove mssql-server |
SLES | sudo zypper remove mssql-server |
Ubuntu | sudo apt-get remove mssql-server |
移除套件並不會刪除產生的資料庫檔案。 如果您想要刪除資料庫檔案,請使用下列命令:
sudo rm -rf /var/opt/mssql/
自動安裝
您可以透過下列方式執行自動安裝:
下列範例會使用 MSSQL_PID
環境變數來設定 SQL Server Developer 版本。 它也接受EULA (ACCEPT_EULA
) 並設定 sa
密碼 (MSSQL_SA_PASSWORD
)。 -n
參數會執行無訊息安裝,其中會從環境變數提取設定值。
sudo MSSQL_PID=Developer ACCEPT_EULA=Y MSSQL_SA_PASSWORD='<password>' /opt/mssql/bin/mssql-conf -n setup
警告
您的密碼應遵循 SQL Server 預設 密碼原則。 依預設,密碼長度必須至少有 8 個字元,並包含下列四種字元組合中其中三種組合的字元:大寫字母、小寫字母、以 10 為底數的數字以及符號。 密碼長度最多可達 128 個字元。 盡可能使用長且複雜的密碼。
您也可以建立指令碼來執行其他動作。 例如,您可以安裝其他 SQL Server 套件。
如需更詳細的範例指令碼,請參閱下列範例:
- 範例:Red Hat Enterprise Linux 的 SQL Server 自動安裝指令碼
- 範例:SUSE Linux Enterprise Server 的 SQL Server 自動安裝指令碼
- 範例:於 Ubuntu 自動安裝 SQL Server 指令碼
離線安裝
如果您的 Linux 電腦無法存取快速入門中使用的線上儲存機制,您可以直接下載封裝檔案。 這些套件位於 Microsoft 存放庫 https://packages.microsoft.com 中。
提示
如果已在快速入門的步驟中順利安裝,則不需要下載或以手動方式安裝 SQL Server 套件。 本節只適用於離線情節。
下載適用於您平台的資料庫引擎套件。 在 Linux 上的 SQL Server 2022 版本資訊一節中尋找套件下載連結。
將已下載套件移至您的 Linux 電腦。 如果您使用不同電腦來下載套件,將套件移至 Linux 電腦的其中一種方式是使用 scp 命令。
安裝資料庫引擎套件。 根據您的平台,使用下列其中一個命令。 將此範例中的套件檔案名稱取代為您下載的確切名稱。
平台 套件安裝命令 RHEL sudo yum localinstall mssql-server_versionnumber.x86_64.rpm
SLES sudo zypper install mssql-server_versionnumber.x86_64.rpm
Ubuntu sudo dpkg -i mssql-server_versionnumber_amd64.deb
注意
您也可以使用
rpm -ivh
命令來安裝 RPM 套件 (RHEL 和 SLES),但是上表中的命令會自動安裝相依性 (如果可以從已核准的存放庫中取得)。解決遺漏的相依性:此時,您可能會遺漏某些相依性。 如果沒有,則您可以略過此步驟。 在 Ubuntu 上,如果您可以存取包含這些相依性的已核准存放庫,最簡單的解決方案就是使用
apt-get -f install
命令。 此命令也會完成 SQL Server 的安裝。 若要手動檢查相依性,請使用下列命令:平台 列出相依性命令 RHEL rpm -qpR mssql-server_versionnumber.x86_64.rpm
SLES rpm -qpR mssql-server_versionnumber.x86_64.rpm
Ubuntu dpkg -I mssql-server_versionnumber_amd64.deb
解決遺失的相依性之後,再次嘗試安裝
mssql-server
套件。完成 SQL Server 安裝程式。 使用 mssql-conf 來完成 SQL Server 安裝程式:
sudo /opt/mssql/bin/mssql-conf setup
授權和定價
SQL Server 在 Linux 和 Windows 上都有相同的授權。 如需 SQL Server 授權和定價的詳細資訊,請參閱如何授權 SQL Server 以及 SQL Server 授權資源與文件。
SQL Server 選用功能
安裝之後,您也可以安裝或啟用選用的 SQL Server 功能。
- 在 Linux 上安裝 SQL Server 命令列工具 sqlcmd 和 bcp
- 在 Linux 上安裝 SQL Server Agent
- 在 Linux 上安裝 SQL Server 全文檢索搜尋
- 在 Linux 上安裝 SQL Server 2019 Machine Learning services (Python 和 R)
- 在 Linux 上安裝 SQL Server Integration Services (SSIS)
取得協助
- 對 SQL 的想法:有任何協助改善 SQL Server 的建議嗎?
- Microsoft Q & A (SQL Server)
- DBA Stack Exchange (標籤 sql-server):詢問 SQL Server 問題
- Stack Overflow (標籤 sql-server):SQL 開發問題的回答
- Reddit:有關 SQL Server 的一般討論
- Microsoft SQL Server 授權條款及資訊
- 適用於商務使用者的支援選項
- 其他 SQL Server 說明與意見反應
參與編輯 SQL 文件
您知道您可以自行編輯 SQL 內容嗎? 這樣做不僅可以協助改善文件,也能名列該頁面的參與者。
如需詳細資訊,請參閱如何參與 SQL Server 文件