Linux 上的 SQL Server 的安裝指引

適用于:SQL Server (所有支援的版本) - Linux

本文提供在 Linux 上安裝、更新和卸載 SQL Server 2017 (14.x) 、SQL Server 2019 (15.x) 和 SQL Server 2022 (16.x) Preview 的指引。

如需了解其他部署案例,請參閱:

本指南涵蓋數個部署案例。 如果您只是要尋找逐步安裝指示,請跳到其中一個快速入門:

如需常見問題的解答,請參閱 Linux 上的 SQL Server 常見問題集

支援的平台

Red Hat Enterprise Linux (RHEL)、SUSE Linux Enterprise Server (SLES) 及 Ubuntu 都支援 SQL Server。 它也支援作為 Docker 映射,它可以在 Linux 上的 Docker 引擎上執行。

平台 檔案系統 安裝指南
Red Hat Enterprise Linux 7.7 - 7.9 或 8.0 - 8.5 伺服器 XFS 或 EXT4 安裝指南
SUSE Enterprise Linux Server v12 SP3 - SP5 XFS 或 EXT4 安裝指南
Ubuntu 16.04 LTS 1、18.04 LTS XFS 或 EXT4 安裝指南
Linux 上的 Docker 引擎 1.8+ 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.0 - 8.5 伺服器 XFS 或 EXT4 安裝指南 取得 RHEL 8.0
SUSE Enterprise Linux Server v12 (SP3 - SP5) 或 v15 XFS 或 EXT4 安裝指南 取得 SLES v15
Ubuntu 16.04 LTS 1、18.04 LTS、20.04 LTS XFS 或 EXT4 安裝指南 取得 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.0 - 8.5 伺服器 XFS 或 EXT4 安裝指南 取得 RHEL 8.0
SUSE Enterprise Linux Server v15 (SP1 - SP3) XFS 或 EXT4 安裝指南 取得 SLES v15
Ubuntu 20.04 LTS XFS 或 EXT4 安裝指南 取得 Ubuntu 20.04
Linux 上的 Docker 引擎 1.8+ 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
檔案系統 不支援XFSEXT4 (其他檔案系統,例如BTRFS)
磁碟空間 6 GB
處理器速度 2 GHz
處理器核心數 2 個核心
處理器類型 僅相容 x64

如果您在生產環境中使用網路檔案系統 (NFS) 遠端共用,請注意下列支援需求:

  • 使用 NFS 版本 4.2 或更新的版本。 舊版 NFS 不支援新式檔案系統常用的必要功能,例如 fallocate 和疏鬆檔案建立。
  • /var/opt/mssql 找出 NFS 掛接上的目錄。 不支援其他檔案,例如 SQL Server 系統二進位檔案。
  • 確定 NFS 用戶端在裝載遠端共用時使用 'nolock' 選項。

設定來源存放庫

當您安裝或升級 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 版本。 然後使用相同的升級命令來升級 SQL Server 版本。 只有在兩個存放庫之間支援升級路徑時,才會發生這種情況。

復原 SQL Server

若要將 SQL Server 復原或降級至先前的版本,請使用下列步驟:

  1. 確認要降級的目標 SQL Server 套件版本號碼。 如需套件編號的清單,請參閱版本資訊

  2. 降級為舊版 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 2019) 中的版本。

檢查已安裝的 SQL Server 版本

若要驗證您 Linux 上的 SQL Server 目前的版本和版次,請使用下列程序:

  1. 如果尚未安裝,請安裝 SQL Server 命令列工具

  2. 使用 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/

自動安裝

您可以透過下列方式執行自動安裝:

  • 遵循快速入門中的初始步驟來註冊存放庫,並安裝 SQL Server。
  • 當您執行 mssql-conf setup 時,請設定環境變數,並使用 [-n (無提示)] 選項。

下列範例會使用 MSSQL_PID 環境變數來設定開發人員版本的 SQL Server。 它也會接受 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 套件。 本節只適用於離線情節。

  1. 下載適用於您平台的資料庫引擎套件。 在版本資訊的 [套件詳細資料] 區段中尋找套件下載連結。

  2. 將已下載套件移至您的 Linux 電腦。 如果您使用不同電腦來下載套件,將套件移至 Linux 電腦的其中一種方式是使用 scp 命令。

  3. 安裝資料庫引擎套件。 根據您的平台,使用下列其中一個命令。 將此範例中的套件檔案名稱取代為您下載的確切名稱。

    平台 套件安裝命令
    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),但是上表中的命令會自動安裝相依性 (如果可以從已核准的存放庫中取得)。

  4. 解決遺漏的相依性:此時,您可能會遺漏某些相依性。 如果沒有,則您可以略過此步驟。 在 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 套件。

  5. 完成 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 功能。

取得協助

提示

如需常見問題的解答,請參閱 Linux 上的 SQL Server 常見問題集