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))
本指南涵蓋數個部署案例。 如果您只是要尋找逐步安裝指示,請跳到其中一個快速入門:
如需常見問題的解答,請參閱 Linux 上的 SQL Server 常見問題集。
支援的平台
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 或 8.x 伺服器 | XFS 或 EXT4 | 安裝指南 |
SUSE Enterprise Linux Server v12 SP3 - SP5 | XFS 或 EXT4 | 安裝指南 |
Ubuntu 16.04 LTS 1、18.04 LTS | XFS 或 EXT4 | 安裝指南 |
Docker Engine 1.8+ (Linux) | N/A | 安裝指南 |
1 Ubuntu 16.04 上的 SQL Server 支援有限。 在 2021 年 4 月底,Ubuntu 16.04 已從其長期支援 (LTS) 版本的標準五年維護期間,轉換為延長的安全性維護 (ESM) 支援。 如需詳細資訊,請參閱 Ubuntu 16.04 LTS 轉換為延長的安全性維護 (ESM) | Ubuntu。
提示
如需詳細資訊,請檢閱適用於 Linux 上的 SQL Server 的系統需求。 如需適用於 SQL Server 的最新支援原則,請參閱 Microsoft SQL Server 的技術支援原則。
平台 | 檔案系統 | 安裝指南 | Get |
---|---|---|---|
Red Hat Enterprise Linux 7.7 - 7.9 或 8.x 伺服器 | XFS 或 EXT4 | 安裝指南 | 取得 RHEL 8 |
SUSE Enterprise Linux Server v12 (SP3 - SP5) 或 v15 (SP1 - SP3) | XFS 或 EXT4 | 安裝指南 | 取得 SLES v15 |
Ubuntu 16.04 LTS 1、18.04 LTS、20.04 LTS | XFS 或 EXT4 | 安裝指南 | Get Ubuntu 20.04 |
Windows、Mac 或 Linux 上的 Docker Engine 1.8+ | N/A | 安裝指南 | 取得 Docker |
1 Ubuntu 16.04 上的 SQL Server 支援有限。 在 2021 年 4 月底,Ubuntu 16.04 已從其長期支援 (LTS) 版本的標準五年維護期間,轉換為延長的安全性維護 (ESM) 支援。 如需詳細資訊,請參閱 Ubuntu 16.04 LTS 轉換為延長的安全性維護 (ESM) | Ubuntu。
提示
如需詳細資訊,請檢閱適用於 Linux 上的 SQL Server 的系統需求。 如需適用於 SQL Server 的最新支援原則,請參閱 Microsoft SQL Server 的技術支援原則。
平台 | 檔案系統 | 安裝指南 | Get |
---|---|---|---|
Red Hat Enterprise Linux 8.x Server (和預覽版中的 9.x 伺服器) | XFS 或 EXT4 | 安裝指南 | 取得 RHEL 8 |
SUSE Enterprise Linux Server v15 (SP1 - SP4) | XFS 或 EXT4 | 安裝指南 | 取得 SLES v15 |
Ubuntu 20.04 LTS (預覽版中為 22.04 LTS) | XFS 或 EXT4 | 安裝指南 | Get Ubuntu 20.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 |
檔案系統 | XFS 或 EXT4 (不支援其他檔案系統,例如 BTRFS) |
磁碟空間 | 6 GB |
處理器速度 | 2 GHz |
處理器核心數 | 2 個核心 |
處理器類型 | 僅相容 x64 |
如果您在生產環境中使用網路檔案系統 (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>
取代為您在步驟一中確認的 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 目前的版本和版次,請使用下列程序:
如果尚未安裝,請安裝 SQL Server 命令列工具。
使用 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='<YourStrong!Passw0rd>' /opt/mssql/bin/mssql-conf -n setup
您也可以建立指令碼來執行其他動作。 例如,您可以安裝其他 SQL Server 套件。
如需更詳細的範例指令碼,請參閱下列範例:
離線安裝
如果您的 Linux 電腦無法存取快速入門中使用的線上儲存機制,您可以直接下載封裝檔案。 這些套件位於 Microsoft 存放庫 https://packages.microsoft.com 中。
提示
如果已在快速入門的步驟中順利安裝,則不需要下載或以手動方式安裝 SQL Server 套件。 本節只適用於離線情節。
下載適用於您平台的資料庫引擎套件。 在版本資訊的 [套件詳細資料] 區段中尋找套件下載連結。
將已下載套件移至您的 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 命令列工具
- SQL Server Agent
- SQL Server 全文檢索搜尋
- 機器學習服務 (R、Python)
- SQL Server Integration Services
取得協助
- 對 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 授權條款及資訊
- 適用於商務使用者的支援選項
- 連絡 Microsoft
- 其他 SQL Server 說明與意見反應
參與編輯 SQL 文件
您知道您可以自行編輯 SQL 內容嗎? 這樣做不僅可以協助改善文件,也能名列該頁面的參與者。
如需詳細資訊,請參閱如何參與編輯 SQL Server 文件