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

適用於:SQL Server - Linux

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

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

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

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

在此快速入門中,您將會在 Ubuntu 20.04 或 22.04 上安裝 SQL Server 2022 (16.x)。 接著,您可以使用 sqlcmd 連線以建立您的第一個資料庫並執行查詢。

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

提示

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

如果您選擇在 Ubuntu 上預先安裝 SQL Server VM 以便執行以生產為基礎的工作負載,請遵循建立 SQL Server VM 的最佳做法

Azure Marketplace 映像

您可以根據下列兩個 Azure Marketplace 映像的其中一個來建立 VM:

當您使用這些映像時,您可以避免安裝步驟,並透過提供開始使用 SQL Server 所需的 SKU 及 sa 密碼來直接設定執行個體。 Microsoft 和 Canonical 皆完全支援使用上述 Marketplace 映像部署在 Ubuntu Pro 上的 SQL Server Azure VM。

您可以使用下列命令,以 mssql-conf 在 Linux 上設定 SQL Server:

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

Azure Marketplace 映像

您可以根據下列 Azure Marketplace 映像來建立 VM:Ubuntu 20.04

當您使用此映像時,您可以避免安裝步驟,並透過提供開始使用 SQL Server 所需的 SKU 及 sa 密碼來直接設定執行個體。 Microsoft 和 Canonical 皆完全支援使用上述 Marketplace 映像部署在 Ubuntu Pro 上的 SQL Server Azure VM。

您可以使用下列命令,以 mssql-conf 在 Linux 上設定 SQL Server:

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

必要條件

Ubuntu 18.04 電腦必須至少有 2 GB 的記憶體。

若要在自己的機器上安裝 Ubuntu 18.04,請前往 https://releases.ubuntu.com/18.04/。 您也可以在 Azure 中建立 Ubuntu 虛擬機器。 請參閱使用 Azure CLI 建立和管理 Linux VM

Ubuntu 20.04 電腦必須至少有 2 GB 的記憶體。

若要在自己的電腦上安裝 Ubuntu 20.04,請前往 https://releases.ubuntu.com/20.04/。 您也可以在 Azure 中建立 Ubuntu 虛擬機器。 請參閱使用 Azure CLI 建立和管理 Linux VM

Ubuntu 20.04 電腦必須至少有 2 GB 的記憶體。

若要在自己的電腦上安裝 Ubuntu 20.04,請前往 https://releases.ubuntu.com/20.04/。 您也可以在 Azure 中建立 Ubuntu 虛擬機器。 請參閱使用 Azure CLI 建立和管理 Linux VM

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

不支援使用 Windows 子系統 Linux 版作為 SQL Server 的安裝目標。

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

安裝 SQL Server

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

  1. 匯入公開存放庫 GPG 金鑰:

    curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
    
  2. 註冊 SQL Server Ubuntu 儲存機制:

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2017.list)"
    

    提示

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

  3. 執行下列命令安裝 SQL Server:

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

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

    請記得為 SA 帳戶指定強式密碼。 您需要至少 8 個字元的長度,包括大寫和小寫字母、基本 10 個數字和 (或) 非英數字元符號。

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

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

  1. 匯入公開存放庫 GPG 金鑰:

    curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
    
  2. 註冊 SQL Server Ubuntu 儲存機制:

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2019.list)"
    

    提示

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

  3. 執行下列命令安裝 SQL Server:

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

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

    請記得為 SA 帳戶指定強式密碼。 您需要至少 8 個字元的長度,包括大寫和小寫字母、基本 10 個數字和 (或) 非英數字元符號。

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

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

  1. 匯入公開存放庫 GPG 金鑰:

    curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
    
  2. 註冊 SQL Server Ubuntu 儲存機制:

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2022.list)"
    

    提示

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

  3. 執行下列命令安裝 SQL Server:

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

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

    請記得為 SA 帳戶指定強式密碼。 您需要至少 8 個字元的長度,包括大寫和小寫字母、基本 10 個數字和 (或) 非英數字元符號。

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

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

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

停用 sa 帳戶為最佳做法

當您在安裝后第一次使用 sa 帳戶連線到 SQL Server 執行個體時,請務必遵循這些步驟,然後作為安全性最佳做法,立即停用 sa 登入。

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

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

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

安裝 SQL Server 命令列工具

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

使用下列步驟在 Ubuntu 上安裝 mssql-tools18

注意

  • 從 SQL Server 2019 (15.x) CU 3 開始支援 Ubuntu 18.04。
  • 從 SQL Server 2019 (15.x) CU 10 開始支援 Ubuntu 20.04。
  1. 匯入公開存放庫 GPG 金鑰。

    curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
    
  2. 註冊 Microsoft Ubuntu 存放庫。

    • 對於 Ubuntu 22.04,請使用下列命令:

      curl https://packages.microsoft.com/config/ubuntu/22.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
      
    • 對於 Ubuntu 20.04,請使用下列命令:

      curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
      
    • 對於 Ubuntu 18.04,請使用下列命令:

      curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
      
    • 對於 Ubuntu 16.04,請使用下列命令:

      curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
      
  3. 更新來源清單,並使用 unixODBC 開發人員套件執行安裝命令。

    sudo apt-get update
    sudo apt-get install mssql-tools18 unixodbc-dev
    

    注意

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

    sudo apt-get update  
    sudo apt-get install 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
    

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

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

在本機連線

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

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

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

    注意

    較新版本的 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 文件