適用於:SQL Server - Linux
本文提供在Linux上安裝、更新和卸載 SQL Server 2017 (14.x)、SQL Server 2019 (15.x)、SQL Server 2022 (16.x) 和 SQL Server 2025 (17.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 散發套件提供累積更新 (CU)。 對於從主流支援過渡到延伸支援且仍被視為受支持的平台的 Linux 發行版,Microsoft 可以自行決定是否釋出 CUs 和錯誤修正。
一旦 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 從標準支援轉換為長期支援套件支援(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 安全性更新,並具有企業資料庫部署所需的支持涵蓋範圍選項。
平台 | 檔案系統 | 安裝指南 | 獲取 |
---|---|---|---|
Red Hat Enterprise Linux 7.7 - 7.9 伺服器 1 或 8.x 伺服器 | XFS 或 ext4 | 安裝指南 | 取得 RHEL 8 |
SUSE Linux Enterprise Server v12 (SP3 - SP5) 2 或 v15 | XFS 或 ext4 | 安裝指南 | 取得 SLES v15 |
Ubuntu 18.04 3 或 20.04 | XFS 或 ext4 | 安裝指南 | 取得 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 從標準支援轉換為長期支援套件支援(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 安全性更新,並具有企業資料庫部署所需的支持涵蓋範圍選項。
平台 | 檔案系統 | 安裝指南 | 獲取 |
---|---|---|---|
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 的技術支援原則。
您應該在支援的平台上執行生產工作負載,例如 Red Hat Enterprise Linux、SUSE Linux Enterprise Server 和 Ubuntu Pro,因為它們會收到一般 OS 安全性更新,並具有企業資料庫部署所需的支持涵蓋範圍選項。
平台 | 檔案系統 | 安裝指南 | 獲取 |
---|---|---|---|
Red Hat Enterprise Linux 9.x Server | XFS 或 ext4 | 安裝指南 | 取得 RHEL 9 |
SUSE Linux Enterprise Server v15 (SP5 和更新版本) | XFS 或 ext4 | 安裝指南 | 取得 SLES v15 |
Ubuntu 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 | 2025 |
SUSE Linux Enterprise Server (SLES) | 2017 | 2019 | 2022 | 2025 |
Ubuntu | 2017 | 2019 | 2022 | 2025 |
Docker(用於開發、傳遞和運行應用程式的平台) | 2017 | 2019 | 2022 | 2025 |
您也可以在 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 Edition。 它也接受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 機器學習服務 (Python 和 R)
- 在 Linux 上安裝 SQL Server Integration Services (SSIS)
尋求幫助
- SQL 的想法:是否有改善 SQL Server 的建議?
- Microsoft問與答(SQL Server)
- DBA Stack Exchange(標記為 sql-server):提出 SQL Server 相關問題
- Stack Overflow (標籤 sql-server):SQL 開發問題的回答
- Microsoft SQL Server 授權條款及資訊
- 適用於商務使用者的支援選項
- 更多 SQL Server 協助與意見反饋
參與編輯 SQL 文件
您知道您可以自行編輯 SQL 內容嗎? 如果這麼做,您不僅能協助改善我們的文件,還能被列為該頁面的貢獻者。
如需詳細資訊,請參閱 編輯 Microsoft Learn 文件。