快速入門:在 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。 檔案系統必須是 XFS 或 EXT4。 不支援其他檔案系統 (例如 BTRFS)。
您 SLES v15 (SP1 - SP4) 機器的記憶體必須至少有 2 GB。 檔案系統必須是 XFS 或 EXT4。 不支援其他檔案系統 (例如 BTRFS)。
您 SLES v15 (SP1 - SP4) 機器的記憶體必須至少有 2 GB。 檔案系統必須是 XFS 或 EXT4。 不支援其他檔案系統 (例如 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 套件:
下載 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) 版本。
重新整理您的存放庫。
sudo zypper --gpg-auto-import-keys refresh
如需確定您的系統上已安裝 Microsoft 套件簽署金鑰,您可以使用下列命令將其匯入:
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
在您安裝 SQL Server 之前,以及在向 SUSE 客戶中心註冊並啟用 SUSE Linux Enterprise Server 之後,您必須同時啟用傳統型應用程式模組和開發工具模組。 部分 SQL Server 套件相依性需要這些模組。
現在,您已準備好要安裝 SQL Server。 執行下列命令安裝 SQL Server:
sudo zypper install -y mssql-server
套件安裝完成之後,請執行
mssql-conf setup
並遵循提示設定 SA 密碼,然後選擇您的版本。 提醒您,下列 SQL Server 為免費授權的版本:Evaluation、Developer 及 Express。sudo /opt/mssql/bin/mssql-conf setup
請記得為 SA 帳戶指定強式密碼。 您需要至少 8 個字元的長度,包括大寫和小寫字母、基本 10 個數字和 (或) 非英數字元符號。
完成設定之後,請確認服務正在執行:
systemctl status mssql-server
如果您想要進行遠端連線,可能還需要在防火牆上開啟 SQL Server TCP 通訊埠 (預設值 1433)。 如果您使用的是 SUSE 防火牆,則需要編輯
/etc/sysconfig/SuSEfirewall2
設定檔。 請修改FW_SERVICES_EXT_TCP
項目,納入 SQL Server 連接埠號碼。FW_SERVICES_EXT_TCP="1433"
此時,SQL Server 正在您的 SLES 機器上執行並可立即使用!
下載 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) 版本。
重新整理您的存放庫。
sudo zypper --gpg-auto-import-keys refresh
如需確定您的系統上已安裝 Microsoft 套件簽署金鑰,您可以使用下列命令將其匯入:
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
在您安裝 SQL Server 之前,以及在向 SUSE 客戶中心註冊並啟用 SUSE Linux Enterprise Server 之後,您必須同時啟用傳統型應用程式模組和開發工具模組。 部分 SQL Server 套件相依性需要這些模組。
現在,您已準備好要安裝 SQL Server。 執行下列命令安裝 SQL Server:
sudo zypper install -y mssql-server
套件安裝完成之後,請執行
mssql-conf setup
並遵循提示設定 SA 密碼,然後選擇您的版本。 提醒您,下列 SQL Server 為免費授權的版本:Evaluation、Developer 及 Express。sudo /opt/mssql/bin/mssql-conf setup
請記得為 SA 帳戶指定強式密碼。 您需要至少 8 個字元的長度,包括大寫和小寫字母、基本 10 個數字和 (或) 非英數字元符號。
完成設定之後,請確認服務正在執行:
systemctl status mssql-server
如果您想要進行遠端連線,可能需要在防火牆上開啟 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 機器上執行並可立即使用!
下載 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) 版本。
重新整理您的存放庫。
sudo zypper --gpg-auto-import-keys refresh
如需確定您的系統上已安裝 Microsoft 套件簽署金鑰,您可以使用下列命令將其匯入:
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
在您安裝 SQL Server 之前,以及在向 SUSE 客戶中心註冊並啟用 SUSE Linux Enterprise Server 之後,您必須同時啟用傳統型應用程式模組和開發工具模組。 部分 SQL Server 套件相依性需要這些模組。
現在,您已準備好要安裝 SQL Server。 執行下列命令安裝 SQL Server:
sudo zypper install -y mssql-server
套件安裝完成之後,請執行
mssql-conf setup
並遵循提示設定 SA 密碼,然後選擇您的版本。 提醒您,下列 SQL Server 為免費授權的版本:Evaluation、Developer 及 Express。sudo /opt/mssql/bin/mssql-conf setup
請記得為 SA 帳戶指定強式密碼。 您需要至少 8 個字元的長度,包括大寫和小寫字母、基本 10 個數字和 (或) 非英數字元符號。
完成設定之後,請確認服務正在執行:
systemctl status mssql-server
如果您想要進行遠端連線,可能需要在防火牆上開啟 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
登入。
建立新的登入,並將其設為 sysadmin 伺服器角色的成員。
視您擁有容器還是非容器部署而定,請啟用 Windows 驗證,並建立新的 Windows 型登入,並將其新增至 sysadmin 伺服器角色。
否則,請使用 SQL Server 驗證建立登入,並將它新增至 sysadmin 伺服器角色。
使用您建立的新登入,連線至 SQL Server 執行個體。
建議的安全性最佳做法為停用
sa
帳戶。
安裝 SQL Server 命令列工具
若要建立資料庫,您必須與可在 SQL Server 上執行 Transact-SQL 陳述式的工具連線。 下列步驟會安裝 SQL Server 命令列工具:sqlcmd 公用程式和 bcp 公用程式。
遵循下列步驟,在 SUSE Linux Enterprise Server 上安裝 mssql-tools18。
匯入 Microsoft 套件簽署金鑰。
curl -O https://packages.microsoft.com/keys/microsoft.asc sudo rpm --import microsoft.asc
將 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
使用 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
選用:在 Bash Shell 中將
/opt/mssql-tools18/bin/
新增至您的PATH
環境變數。若要讓登入工作階段的 Bash Shell 可存取 sqlcmd 和 bcp,請使用下列命令修改您在
PATH
檔案中的~/.bash_profile
:echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bash_profile source ~/.bash_profile
若要讓互動式/非登入工作階段的 Bash Shell 可存取 sqlcmd 或 bcp,請使用下列命令修改
~/.bashrc
檔案中的PATH
:echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc source ~/.bashrc
在本機連線
下列步驟使用 sqlcmd,在本機連線到您的新 SQL Server 執行個體。
使用您的 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。如果成功,您應該會收到 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, PRIMARY KEY (id) );
將資料插入新的資料表:
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 常見問題集。
相關內容
參與編輯 SQL 文件
您知道您可以自行編輯 SQL 內容嗎? 這樣做不僅可以協助改善文件,也能名列該頁面的參與者。
如需詳細資訊,請參閱如何參與 SQL Server 文件
意見反映
https://aka.ms/ContentUserFeedback。
即將推出:我們會在 2024 年淘汰 GitHub 問題,並以全新的意見反應系統取代並作為內容意見反應的渠道。 如需更多資訊,請參閱:提交及檢視以下的意見反映: