快速入門:在 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:
- RHEL 8.0 (英文)
當您使用上述市集映射時,您可以避免安裝步驟,並提供開始使用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
套件:
下載 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) 版本。
執行下列命令以安裝SQL Server:
sudo yum install -y mssql-server
套件安裝完成之後,
mssql-conf setup
請使用其完整路徑執行,並遵循提示來設定 SA 密碼,然後選擇您的版本。 提醒您,下列SQL Server版本可自由授權:Evaluation、Developer 和 Express。sudo /opt/mssql/bin/mssql-conf setup
請記得指定 SA 帳戶的強式密碼。 您需要長度下限 8 個字元,包括大寫和小寫字母、base-10 位數和/或非英數位元符號。
完成設定之後,請確認服務正在執行:
systemctl status mssql-server
若要允許遠端連線,請在 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
套件:
下載 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) 版本。
執行下列命令以安裝SQL Server:
sudo yum install -y mssql-server
套件安裝完成之後,
mssql-conf setup
請使用其完整路徑執行,並遵循提示來設定 SA 密碼,然後選擇您的版本。 提醒您,下列SQL Server版本可自由授權:Evaluation、Developer 和 Express。sudo /opt/mssql/bin/mssql-conf setup
請記得指定 SA 帳戶的強式密碼。 您需要長度下限 8 個字元,包括大寫和小寫字母、base-10 位數和/或非英數位元符號。
完成設定之後,請確認服務正在執行:
systemctl status mssql-server
若要允許遠端連線,請在 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
套件:
下載 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) 版本。
執行下列命令以安裝SQL Server:
sudo yum install -y mssql-server
套件安裝完成之後,
mssql-conf setup
請使用其完整路徑執行,並遵循提示來設定 SA 密碼,然後選擇您的版本。 提醒您,下列SQL Server版本可自由授權:Evaluation、Developer 和 Express。sudo /opt/mssql/bin/mssql-conf setup
請記得指定 SA 帳戶的強式密碼。 您需要長度下限 8 個字元,包括大寫和小寫字母、base-10 位數和/或非英數位元符號。
完成設定之後,請確認服務正在執行:
systemctl status mssql-server
若要允許遠端連線,請在 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 命令列工具:sqlcmd 和 bcp。
下載 Red Hat 存放庫組態檔。
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/8/prod.repo
如果您已安裝舊版的 mssql-tools,請移除所有舊版的 unixODBC 套件。
sudo yum remove unixODBC-utf16 unixODBC-utf16-devel
執行下列命令,使用 unixODBC 開發人員套件安裝 mssql-tools。 如需詳細資訊,請參閱安裝 Microsoft ODBC Driver for SQL Server (Linux)。
sudo yum install -y mssql-tools unixODBC-devel
為了方便起見,請將 新增
/opt/mssql-tools/bin/
至PATH
環境變數,讓 sqlcmd 或 bcp 可從 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 執行個體。
使用SQL Server名稱 ()
-S
、使用者名稱 (-U
) ,以及密碼 ()-P
來執行sqlcmd。 在本教學課程中,您將在本機連線,因此伺服器名稱是localhost
。 使用者名稱是sa
,而密碼則是您在安裝期間為 SA 帳戶所提供的密碼。sqlcmd -S localhost -U sa -P '<YourPassword>'
您可以在命令列中省略密碼,以便稍後在提示時才輸入密碼。
如果您稍後決定從遠端連線,請指定參數的電腦
-S
名稱或 IP 位址,並確定防火牆上已開啟埠 1433。如果成功,您應該會收到 sqlcmd 命令提示字元:
1>
。如果您收到連線失敗,請先嘗試從錯誤訊息診斷問題。 然後檢閱連線疑難排解建議。
建立及查詢資料
下列各節將逐步引導您使用 sqlcmd 來建立新的資料庫、新增資料及執行簡單查詢。
如需撰寫 Transact-SQL 語句和查詢的詳細資訊,請參閱 教學課程:撰寫 Transact-SQL 語句。
建立新資料庫
下列步驟會建立名為 TestDB
的新資料庫。
從 sqlcmd 命令提示字元,貼上下列 Transact-SQL 命令以建立測試資料庫:
CREATE DATABASE TestDB;
在下一行,撰寫查詢以傳回您伺服器上所有資料庫的名稱:
SELECT Name from sys.databases;
上述兩個命令不會立即執行。 您必須在新的一行鍵入
GO
,以執行上述命令:GO
插入資料
接下來,建立新的資料表 dbo.Inventory
,然後插入兩個新的資料列。
從 sqlcmd 命令提示字元,將內容切換至
TestDB
資料庫:USE TestDB;
建立名為
dbo.Inventory
的新資料表:CREATE TABLE dbo.Inventory ( id INT, name NVARCHAR(50), quantity INT );
將資料插入新的資料表:
INSERT INTO dbo.Inventory VALUES (1, 'banana', 150); INSERT INTO dbo.Inventory VALUES (2, 'orange', 154);
鍵入
GO
以執行上述命令:GO
選取資料
現在,執行查詢以從 dbo.Inventory
資料表傳回資料。
從 sqlcmd 命令提示字元,輸入查詢以從
dbo.Inventory
資料表傳回 quantity (數量) 大於 152 的資料列:SELECT * FROM dbo.Inventory WHERE quantity > 152;
執行命令︰
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 常見問題集。