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

適用于:SQL Server - Linux

在本快速入門中,您會在 Red Hat Enterprise Linux (RHEL) 8.x 上安裝 SQL Server 2017 (14.x) 。 然後,您可以與 sqlcmd 連線,以建立您的第一個資料庫並執行查詢。

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

在本快速入門中,您會在 Red Hat Enterprise Linux (RHEL) 8.x 上安裝 SQL Server 2019 (15.x) 。 然後,您可以與 sqlcmd 連線,以建立您的第一個資料庫並執行查詢。

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

在本快速入門中,您會在 Red Hat Enterprise Linux (RHEL) 8.x 上安裝 SQL Server 2022 (16.x) 。 然後,您可以與 sqlcmd 連線,以建立您的第一個資料庫並執行查詢。

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

提示

本教學課程需要使用者輸入和網際網路連線。 如果您對自動離線安裝程序感興趣,請參閱 Linux 上的 SQL Server 安裝指引。 如果您選擇在 RHEL 上預先安裝SQL Server VM,以便執行以生產為基礎的工作負載,請遵循建立SQL Server VM的最佳做法

Azure Marketplace 映像

您可以根據下列Azure Marketplace映射來建立 VM:

當您使用上述市集映射時,您可以避免安裝步驟,並提供開始使用SQL Server所需的 SKU 和 sa 密碼,直接設定實例。 SQL Server使用上述 Marketplace 映射在 RHEL 上部署的 Azure VM,Microsoft 和 Red Hat 都完全支援。

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

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

必要條件

您必須擁有 至少 2 GB 記憶體的 RHEL 8.0 - 8.6 部機器。

若您要在自己的機器上安裝 Red Hat Enterprise Linux,請前往 https://access.redhat.com/products/red-hat-enterprise-linux/evaluation。 您也可以在 Azure 中建立 RHEL 虛擬機器。 請參閱使用 Azure CLI 建立和管理 Linux VM,並於呼叫 az vm create時使用 --image RHEL

如果您先前已安裝 Community Technology Preview (CTP) 或候選版 (RC) SQL Server,您必須先移除舊的存放庫,再遵循下列步驟。 如需詳細資訊,請參閱設定適用于 SQL Server 的 Linux 存放庫

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

安裝 SQL Server

下列命令可用來安裝SQL Server指向 RHEL 8 存放庫。 RHEL 8 未預 python2 安裝 ,這是SQL Server的必要專案。 開始安裝SQL Server步驟之前,請先執行 命令,並確認 python2 已選取為解譯器:

sudo alternatives --config python
# If not configured, install python2 and openssl10 using the following commands:
sudo yum install python2
sudo yum install compat-openssl10
# Configure python2 as the default interpreter using this command:
sudo alternatives --config python

如需詳細資訊,請參閱下列部落格,以安裝 python2 及設定為預設解譯器: https://www.redhat.com/en/blog/installing-microsoft-sql-server-red-hat-enterprise-linux-8-beta

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

  1. 下載 SQL Server 2017 (14.x) Red Hat 存放庫設定檔:

    sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2017.repo
    

    提示

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

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

    sudo yum install -y mssql-server
    
  3. 套件安裝完成之後, mssql-conf setup 請使用其完整路徑執行,並遵循提示來設定 SA 密碼,然後選擇您的版本。 提醒您,下列SQL Server版本可自由授權:Evaluation、Developer 和 Express。

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

    請記得指定 SA 帳戶的強式密碼。 您需要長度下限 8 個字元,包括大寫和小寫字母、base-10 位數和/或非英數位元符號。

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

    systemctl status mssql-server
    
  5. 若要允許遠端連線,請在 RHEL 防火牆上開啟SQL Server埠。 SQL Server 連接埠預設為 TCP 1433。 如果您使用 防火牆的 FirewallD ,您可以使用下列命令:

    sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
    sudo firewall-cmd --reload
    

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

下列命令可用來安裝SQL Server指向 RHEL 8 存放庫。 RHEL 8 未預 python2 安裝 ,這是SQL Server的必要專案。 開始安裝SQL Server步驟之前,請先執行 命令,並確認 python2 已選取為解譯器:

sudo alternatives --config python
# If not configured, install python2 and openssl10 using the following commands:
sudo yum install python2
sudo yum install compat-openssl10
# Configure python2 as the default interpreter using this command:
sudo alternatives --config python

如需詳細資訊,請參閱下列部落格,以安裝 python2 及設定為預設解譯器: https://www.redhat.com/en/blog/installing-microsoft-sql-server-red-hat-enterprise-linux-8-beta

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

  1. 下載 SQL Server 2019 (15.x) Red Hat 存放庫設定檔:

    sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2019.repo
    

    提示

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

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

    sudo yum install -y mssql-server
    
  3. 套件安裝完成之後, mssql-conf setup 請使用其完整路徑執行,並遵循提示來設定 SA 密碼,然後選擇您的版本。 提醒您,下列SQL Server版本可自由授權:Evaluation、Developer 和 Express。

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

    請記得指定 SA 帳戶的強式密碼。 您需要長度下限 8 個字元,包括大寫和小寫字母、base-10 位數和/或非英數位元符號。

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

    systemctl status mssql-server
    
  5. 若要允許遠端連線,請在 RHEL 防火牆上開啟SQL Server埠。 SQL Server 連接埠預設為 TCP 1433。 如果您使用 防火牆的 FirewallD ,您可以使用下列命令:

    sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
    sudo firewall-cmd --reload
    

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

下列命令可用來安裝SQL Server指向 RHEL 8 存放庫。

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

  1. 下載 SQL Server 2022 (16.x) Red Hat 存放庫設定檔:

    sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2022.repo
    

    提示

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

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

    sudo yum install -y mssql-server
    
  3. 套件安裝完成之後, mssql-conf setup 請使用其完整路徑執行,並遵循提示來設定 SA 密碼,然後選擇您的版本。 提醒您,下列SQL Server版本可自由授權:Evaluation、Developer 和 Express。

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

    請記得指定 SA 帳戶的強式密碼。 您需要長度下限 8 個字元,包括大寫和小寫字母、base-10 位數和/或非英數位元符號。

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

    systemctl status mssql-server
    
  5. 若要允許遠端連線,請在 RHEL 防火牆上開啟SQL Server埠。 SQL Server 連接埠預設為 TCP 1433。 如果您使用 防火牆的 FirewallD ,您可以使用下列命令:

    sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
    sudo firewall-cmd --reload
    

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

安裝 SQL Server 命令列工具

若要建立資料庫,您必須使用可在 SQL Server 上執行 Transact-SQL 語句的工具進行連線。 下列步驟會安裝 SQL Server 命令列工具:sqlcmdbcp

  1. 下載 Red Hat 存放庫組態檔。

    sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/8/prod.repo
    
  2. 如果您已安裝舊版的 mssql-tools,請移除所有舊版的 unixODBC 套件。

    sudo yum remove unixODBC-utf16 unixODBC-utf16-devel
    
  3. 執行下列命令,使用 unixODBC 開發人員套件安裝 mssql-tools。 如需詳細資訊,請參閱安裝 Microsoft ODBC Driver for SQL Server (Linux)

    sudo yum install -y mssql-tools unixODBC-devel
    
  4. 為了方便起見,請將 新增 /opt/mssql-tools/bin/PATH 環境變數,讓 sqlcmdbcp 可從 bash 殼層存取。

    針對互動式會話,請使用下列命令修改 PATH 檔案 ~/.bash_profile 中的環境變數:

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

    針對非互動式會話,請使用下列命令修改 PATH 檔案 ~/.bashrc 中的環境變數:

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

在本機連線

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

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

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

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

    如果您稍後決定從遠端連線,請指定參數的電腦 -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
    );
    
  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 常見問題集

後續步驟