共用方式為


快速入門:在 SUSE Linux Enterprise Server 上安裝 SQL Server 並建立資料庫

適用於:SQL Server - Linux

在本快速入門中,您會在 SUSE Linux Enterprise Server (SLES) v12 上安裝 SQL Server 2017 (14.x)。 接著,您可以使用 sqlcmd 連線以建立您的第一個資料庫並執行查詢。

如需支援平台的詳細資訊,請參閱 Linux 上 SQL Server 2017 的版本資訊

在本快速入門中,您會在 SUSE Linux Enterprise Server (SLES) v15 (SP3) 上安裝 SQL Server 2019 (15.x)。 接著,您可以使用 sqlcmd 連線以建立您的第一個資料庫並執行查詢。

如需支援平台的詳細資訊,請參閱 Linux 上 SQL Server 2019 的版本資訊

在本快速入門中,您會在 SUSE Linux Enterprise Server (SLES) v15 (SP3) 上安裝 SQL Server 2022 (16.x)。 接著,您可以使用 sqlcmd 連線以建立您的第一個資料庫並執行查詢。

如需支援平台的詳細資訊,請參閱 Linux 上 SQL Server 2022 的版本資訊

提示

本教學課程需要使用者輸入和網際網路連線。 如果您對自動離線安裝程序感興趣,請參閱 Linux 上的 SQL Server 安裝指引

必要條件

您 SLES v12 SP5 機器的記憶體必須至少有 2 GB。 檔案系統必須是 XFSEXT4。 不支援其他檔案系統 (例如 BTRFS)。

您 SLES v15 (SP1 - SP4) 機器的記憶體必須至少有 2 GB。 檔案系統必須是 XFSEXT4。 不支援其他檔案系統 (例如 BTRFS)。

您 SLES v15 (SP1 - SP4) 機器的記憶體必須至少有 2 GB。 檔案系統必須是 XFSEXT4。 不支援其他檔案系統 (例如 BTRFS)。

若要在您自己的機器上安裝 SUSE Linux Enterprise Server,請前往 https://www.suse.com/products/server。 您也可以在 Azure 中建立 SLES 虛擬機器。 請參閱使用 Azure CLI 建立和管理 Linux VM,並於呼叫 az vm create時使用 --image SLES

如果您先前已安裝 SQL Server 的 Community Technology Preview (CTP) 或候選版 (RC),您必須先移除舊的儲存機制,再遵循這些步驟。 如需詳細資訊,請參閱設定用於安裝和升級 Linux 上 SQL Server 的存放庫

注意

目前尚未支援在 Windows 10 或 Windows 11 上使用 Windows 子系統 Linux 版作為安裝目標。

如需其他系統需求,請參閱 SQL Server 在 Linux 上的系統需求

安裝 SQL Server

若要在 SLES 上設定 SQL Server,請從終端執行下列命令,安裝 mssql-server 套件:

  1. 下載 SQL Server 2017 (14.x) SLES 儲存機制組態檔:

    sudo zypper addrepo -fc https://packages.microsoft.com/config/sles/12/mssql-server-2017.repo
    

    提示

    如果您想要安裝不同版本的 SQL Server,請參閱本文的 SQL Server 2019 (15.x)SQL Server 2022 (16.x) 版本。

  2. 重新整理您的存放庫。

    sudo zypper --gpg-auto-import-keys refresh
    

    如需確定您的系統上已安裝 Microsoft 套件簽署金鑰,您可以使用下列命令將其匯入:

    sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
    
  3. 在您安裝 SQL Server 之前,以及在向 SUSE 客戶中心註冊並啟用 SUSE Linux Enterprise Server 之後,您必須同時啟用傳統型應用程式模組和開發工具模組。 部分 SQL Server 套件相依性需要這些模組。

  4. 現在,您已準備好要安裝 SQL Server。 執行下列命令安裝 SQL Server:

    sudo zypper install -y mssql-server
    
  5. 套件安裝完成之後,請執行 mssql-conf setup 並遵循提示來設定 sa 密碼,然後選擇您的版本。 提醒您,下列 SQL Server 為免費授權的版本:Evaluation、Developer 及 Express。

    sudo /opt/mssql/bin/mssql-conf setup
    

    警告

    您的密碼應遵循 SQL Server 預設 密碼原則。 依預設,密碼長度必須至少有 8 個字元,並包含下列四種字元組合中其中三種組合的字元:大寫字母、小寫字母、以 10 為底數的數字以及符號。 密碼長度最多可達 128 個字元。 盡可能使用長且複雜的密碼。

  6. 完成設定之後,請確認服務正在執行:

    systemctl status mssql-server
    
  7. 如果您想要進行遠端連線,可能還需要在防火牆上開啟 SQL Server TCP 通訊埠 (預設值 1433)。 如果您使用的是 SUSE 防火牆,則需要編輯 /etc/sysconfig/SuSEfirewall2 設定檔。 請修改 FW_SERVICES_EXT_TCP 項目,納入 SQL Server 連接埠號碼。

    FW_SERVICES_EXT_TCP="1433"
    

此時,SQL Server 正在您的 SLES 機器上執行並可立即使用!

  1. 下載 SQL Server 2019 (15.x) SLES 儲存機制組態檔:

    sudo zypper addrepo -fc https://packages.microsoft.com/config/sles/15/mssql-server-2019.repo
    

    提示

    如果您想要安裝不同版本的 SQL Server,請參閱本文的 SQL Server 2017 (14.x)SQL Server 2022 (16.x) 版本。

  2. 重新整理您的存放庫。

    sudo zypper --gpg-auto-import-keys refresh
    

    如需確定您的系統上已安裝 Microsoft 套件簽署金鑰,您可以使用下列命令將其匯入:

    sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
    
  3. 在您安裝 SQL Server 之前,以及在向 SUSE 客戶中心註冊並啟用 SUSE Linux Enterprise Server 之後,您必須同時啟用傳統型應用程式模組和開發工具模組。 部分 SQL Server 套件相依性需要這些模組。

  4. 現在,您已準備好要安裝 SQL Server。 執行下列命令安裝 SQL Server:

    sudo zypper install -y mssql-server
    
  5. 套件安裝完成之後,請執行 mssql-conf setup 並遵循提示來設定 sa 密碼,然後選擇您的版本。 提醒您,下列 SQL Server 為免費授權的版本:Evaluation、Developer 及 Express。

    sudo /opt/mssql/bin/mssql-conf setup
    

    警告

    您的密碼應遵循 SQL Server 預設 密碼原則。 依預設,密碼長度必須至少有 8 個字元,並包含下列四種字元組合中其中三種組合的字元:大寫字母、小寫字母、以 10 為底數的數字以及符號。 密碼長度最多可達 128 個字元。 盡可能使用長且複雜的密碼。

  6. 完成設定之後,請確認服務正在執行:

    systemctl status mssql-server
    
  7. 如果您想要進行遠端連線,可能需要在防火牆上開啟 SQL Server TCP 通訊埠 (預設值 1433)。

    注意

    在 SLES 上,您可以使用如 firewalld 來管理防火牆。 使用 sudo zypper install firewalld 安裝它,然後使用 sudo systemctl start firewalld 加以啟動。 使用 sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent 新增防火牆規則,然後使用 sudo firewall-cmd --reload 重新載入防火牆,即可讓設定生效。

此時,SQL Server 正在您的 SLES 機器上執行並可立即使用!

  1. 下載 SQL Server 2022 (16.x) SLES 儲存機制組態檔:

    sudo zypper addrepo -fc https://packages.microsoft.com/config/sles/15/mssql-server-2022.repo
    

    提示

    如果您想要安裝不同版本的 SQL Server,請參閱本文的 SQL Server 2017 (14.x)SQL Server 2019 (15.x) 版本。

  2. 重新整理您的存放庫。

    sudo zypper --gpg-auto-import-keys refresh
    

    如需確定您的系統上已安裝 Microsoft 套件簽署金鑰,您可以使用下列命令將其匯入:

    sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
    
  3. 在您安裝 SQL Server 之前,以及在向 SUSE 客戶中心註冊並啟用 SUSE Linux Enterprise Server 之後,您必須同時啟用傳統型應用程式模組和開發工具模組。 部分 SQL Server 套件相依性需要這些模組。

  4. 現在,您已準備好要安裝 SQL Server。 執行下列命令安裝 SQL Server:

    sudo zypper install -y mssql-server
    
  5. 套件安裝完成之後,請執行 mssql-conf setup 並遵循提示來設定 sa 密碼,然後選擇您的版本。 提醒您,下列 SQL Server 為免費授權的版本:Evaluation、Developer 及 Express。

    sudo /opt/mssql/bin/mssql-conf setup
    

    警告

    您的密碼應遵循 SQL Server 預設 密碼原則。 依預設,密碼長度必須至少有 8 個字元,並包含下列四種字元組合中其中三種組合的字元:大寫字母、小寫字母、以 10 為底數的數字以及符號。 密碼長度最多可達 128 個字元。 盡可能使用長且複雜的密碼。

  6. 完成設定之後,請確認服務正在執行:

    systemctl status mssql-server
    
  7. 如果您想要進行遠端連線,可能需要在防火牆上開啟 SQL Server TCP 通訊埠 (預設值 1433)。

    注意

    在 SLES 上,您可以使用如 firewalld 來管理防火牆。 使用 sudo zypper install firewalld 安裝它,然後使用 sudo systemctl start firewalld 加以啟動。 使用 sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent 新增防火牆規則,然後使用 sudo firewall-cmd --reload 重新載入防火牆,即可讓設定生效。

此時,SQL Server 正在您的 SLES 機器上執行並可立即使用!

停用 SA 帳戶作為最佳做法

當您在安裝后第一次使用系統管理員 (sa) 帳戶連線到 SQL Server 實例時,請務必遵循這些步驟,然後立即停用 sa 帳戶作為安全性最佳做法。

  1. 建立新的登入,並將其設為 sysadmin 伺服器角色的成員。

  2. 使用您建立的新登入,連線至 SQL Server 執行個體。

  3. 建議的安全性最佳做法為停用 sa 帳戶。

安裝 SQL Server 命令列工具

若要建立資料庫,您必須與可在 SQL Server 上執行 Transact-SQL 陳述式的工具連線。 下列步驟會安裝 SQL Server 命令列工具:sqlcmd 公用程式bcp 公用程式

遵循下列步驟,在 SUSE Linux Enterprise Server 上安裝 mssql-tools18

  1. 匯入 Microsoft 套件簽署金鑰。

    curl -O https://packages.microsoft.com/keys/microsoft.asc
    sudo rpm --import microsoft.asc
    
  2. 將 SQL Server 儲存機制新增至 Zypper。

    • 針對 SLES 15,請使用下列命令:

      sudo zypper ar https://packages.microsoft.com/config/sles/15/prod.repo
      
    • 針對 SLES 12,請使用下列命令:

      sudo zypper ar https://packages.microsoft.com/config/sles/12/prod.repo
      
  3. 使用 unixODBC 開發人員套件安裝 mssql-tools18

    • 針對 SLES 15,請使用下列命令:
    sudo zypper install -y mssql-tools18 unixODBC-devel glibc-locale-base
    
    • 針對 SLES 12,請使用下列命令:
    sudo zypper install -y mssql-tools18 unixODBC-devel
    

    若要更新為最新版本的 mssql-tools18,請執行下列命令:

    sudo zypper refresh
    sudo zypper update mssql-tools18
    
  4. 選用:在 Bash Shell 中將 /opt/mssql-tools18/bin/ 新增至您的 PATH 環境變數。

    若要讓登入工作階段的 Bash Shell 可存取 sqlcmdbcp,請使用下列命令修改您在 PATH 檔案中的 ~/.bash_profile

    echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bash_profile
    source ~/.bash_profile
    

    若要讓互動式/非登入工作階段的 Bash Shell 可存取 sqlcmdbcp,請使用下列命令修改 ~/.bashrc 檔案中的 PATH

    echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
    source ~/.bashrc
    

在本機連線

下列步驟使用 sqlcmd,在本機連線到您的新 SQL Server 執行個體。

警告

您的密碼應遵循 SQL Server 預設 密碼原則。 依預設,密碼長度必須至少有 8 個字元,並包含下列四種字元組合中其中三種組合的字元:大寫字母、小寫字母、以 10 為底數的數字以及符號。 密碼長度最多可達 128 個字元。 盡可能使用長且複雜的密碼。

  1. 使用您的 SQL Server 名稱 (-S)、使用者名稱 (-U) 和密碼 (-P) 的參數執行 sqlcmd。 在本教學課程中,您會在本機連線,因此伺服器名稱為 localhost。 用戶名稱是 sa ,密碼是您在安裝期間為 sa 帳戶提供的密碼。

    sqlcmd -S localhost -U sa -P '<password>'
    

    注意

    較新版本的 sqlcmd 預設為安全。 如需連線加密的詳細資訊,請參閱適用於 Windows 的 sqlcmd 公用程式,以及適用於 Linux 和 macOS 的使用 sqlcmd 進行連線。 如果連線不成功,您可以將 -No 選項新增至 sqlcmd,以指定加密是選用的,而不是強制性的。

    您可以在命令列中省略密碼,以便稍後在提示時才輸入密碼。

    如果您稍後決定從遠端連線,請針對 -S 參數指定電腦名稱或 IP 位址,並確定已開啟您防火牆上的連接埠 1433。

  2. 如果成功,您應該會收到 sqlcmd 命令提示字元:1>

  3. 如果您收到連線失敗,請先嘗試從錯誤訊息診斷問題。 然後檢閱連線疑難排解建議

建立及查詢資料

下列各節將逐步引導您使用 sqlcmd 來建立新的資料庫、新增資料及執行簡單查詢。

如需撰寫 Transact-SQL 語句和查詢的詳細資訊,請參閱 教學課程:撰寫 Transact-SQL 語句

建立新資料庫

下列步驟會建立名為 TestDB 的新資料庫。

  1. sqlcmd 命令提示字元,貼上下列 Transact-SQL 命令以建立測試資料庫:

    CREATE DATABASE TestDB;
    
  2. 在下一行,撰寫查詢以傳回您伺服器上所有資料庫的名稱:

    SELECT Name
    FROM sys.databases;
    
  3. 前兩個命令不會立即執行。 您必須在新的一行鍵入 GO,以執行上述命令:

    GO
    

插入資料

接下來,建立新的資料表 dbo.Inventory,然後插入兩個新的資料列。

  1. sqlcmd 命令提示字元,將內容切換至 TestDB 資料庫:

    USE TestDB;
    
  2. 建立名為 dbo.Inventory 的新資料表:

    CREATE TABLE dbo.Inventory
    (
        id INT,
        name NVARCHAR (50),
        quantity INT,
        PRIMARY KEY (id)
    );
    
  3. 將資料插入新的資料表:

    INSERT INTO dbo.Inventory
    VALUES (1, 'banana', 150);
    
    INSERT INTO dbo.Inventory
    VALUES (2, 'orange', 154);
    
  4. 鍵入 GO 以執行上述命令:

    GO
    

選取資料

現在,執行查詢以從 dbo.Inventory 資料表傳回資料。

  1. sqlcmd 命令提示字元,輸入查詢以從 dbo.Inventory 資料表傳回 quantity (數量) 大於 152 的資料列:

    SELECT *
    FROM dbo.Inventory
    WHERE quantity > 152;
    
  2. 執行命令︰

    GO
    

結束 sqlcmd 命令提示字元

若要結束您的 sqlcmd 工作階段,請鍵入 QUIT

QUIT

效能最佳做法

安裝 Linux 上的 SQL Server 之後,請參閱設定 Linux 和 SQL Server 的最佳做法,以改善生產案例的效能。 如需詳細資訊,請參閱 Linux 上的 SQL Server 效能最佳做法和設定方針

跨平台資料工具

除了 sqlcmd 以外,您也可以使用下列跨平台工具來管理 SQL Server:

工具 說明
Azure Data Studio 跨平台 GUI 資料庫管理公用程式。
Visual Studio Code 跨平台 GUI 程式碼編輯器,可執行具有 mssql 延伸模組的 Transact-SQL 陳述式。
PowerShell Core 以 Cmdlet 為基礎的跨平台自動化和設定工具。
mssql-cli 用於執行 Transact-SQL 命令的跨平台命令列介面。

從 Windows 連線

Windows 上 SQL Server 工具連線到 Linux 上 SQL Server 執行個體的方式,與連線到任何遠端 SQL Server 執行個體的方式相同。

如果您有可連線到 Linux 電腦的 Windows 電腦,請嘗試本主題中的相同步驟,從 Windows 命令提示字元執行 sqlcmd。 您必須使用目標 Linux 電腦名稱或 IP 位址而非 localhost,並確定 SQL Server 電腦已開啟 TCP 通訊埠 1433。 如果從 Windows 連線有任何問題,請參閱連線疑難排解建議

如需在 Windows 上執行但連線到 Linux 上 SQL Server 的其他工具,請參閱:

其他部署案例

如需其他安裝案例,請參閱下列資源:

  • 升級:了解如何升級 Linux 上 SQL Server 的現有安裝
  • Uninstall:解除安裝 Linux 上的 SQL Server
  • 自動安裝:了解如何撰寫指令碼,以進行沒有提示的安裝
  • 離線安裝:了解如何手動下載離線安裝的套件

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

參與編輯 SQL 文件

您知道您可以自行編輯 SQL 內容嗎? 這樣做不僅可以協助改善文件,也能名列該頁面的參與者。

如需詳細資訊,請參閱如何參與 SQL Server 文件