快速入門:在 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 的版本資訊。
提示
本教學課程需要使用者輸入和網際網路連線。 如果您對自動或離線安裝程序感興趣,請參閱 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
警告
您的密碼應遵循 SQL Server 預設 密碼原則。 依預設,密碼長度必須至少有 8 個字元,並包含下列四種字元組合中其中三種組合的字元:大寫字母、小寫字母、以 10 為底數的數字以及符號。 密碼長度最多可達 128 個字元。 盡可能使用長且複雜的密碼。
必要條件
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 套件。
匯入公開存放庫 GPG 金鑰:
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
註冊 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) 版本。
執行下列命令安裝 SQL Server:
sudo apt-get update sudo apt-get install -y mssql-server
套件安裝完成之後,請執行
mssql-conf setup
並遵循提示來設定sa
密碼,然後選擇您的版本。 提醒您,下列 SQL Server 為免費授權的版本:Evaluation、Developer 及 Express。sudo /opt/mssql/bin/mssql-conf setup
警告
您的密碼應遵循 SQL Server 預設 密碼原則。 依預設,密碼長度必須至少有 8 個字元,並包含下列四種字元組合中其中三種組合的字元:大寫字母、小寫字母、以 10 為底數的數字以及符號。 密碼長度最多可達 128 個字元。 盡可能使用長且複雜的密碼。
完成設定之後,請確認服務正在執行:
systemctl status mssql-server --no-pager
如果您想要進行遠端連線,可能還需要在防火牆上開啟 SQL Server TCP 通訊埠 (預設值 1433)。
匯入公開存放庫 GPG 金鑰:
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
註冊 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) 版本。
執行下列命令安裝 SQL Server:
sudo apt-get update sudo apt-get install -y mssql-server
套件安裝完成之後,請執行
mssql-conf setup
並遵循提示來設定sa
密碼,然後選擇您的版本。 提醒您,下列 SQL Server 為免費授權的版本:Evaluation、Developer 及 Express。sudo /opt/mssql/bin/mssql-conf setup
警告
您的密碼應遵循 SQL Server 預設 密碼原則。 依預設,密碼長度必須至少有 8 個字元,並包含下列四種字元組合中其中三種組合的字元:大寫字母、小寫字母、以 10 為底數的數字以及符號。 密碼長度最多可達 128 個字元。 盡可能使用長且複雜的密碼。
完成設定之後,請確認服務正在執行:
systemctl status mssql-server --no-pager
如果您想要進行遠端連線,可能還需要在防火牆上開啟 SQL Server TCP 通訊埠 (預設值 1433)。
匯入公開存放庫 GPG 金鑰:
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
註冊 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) 版本。
執行下列命令安裝 SQL Server:
sudo apt-get update sudo apt-get install -y mssql-server
套件安裝完成之後,請執行
mssql-conf setup
並遵循提示來設定sa
密碼,然後選擇您的版本。 提醒您,下列 SQL Server 為免費授權的版本:Evaluation、Developer 及 Express。sudo /opt/mssql/bin/mssql-conf setup
警告
您的密碼應遵循 SQL Server 預設 密碼原則。 依預設,密碼長度必須至少有 8 個字元,並包含下列四種字元組合中其中三種組合的字元:大寫字母、小寫字母、以 10 為底數的數字以及符號。 密碼長度最多可達 128 個字元。 盡可能使用長且複雜的密碼。
完成設定之後,請確認服務正在執行:
systemctl status mssql-server --no-pager
如果您想要進行遠端連線,可能還需要在防火牆上開啟 SQL Server TCP 通訊埠 (預設值 1433)。
此時,SQL Server 正在您的 Ubuntu 機器上執行並可立即使用。
停用 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 公用程式。
使用下列步驟在 Ubuntu 上安裝 mssql-tools18。
注意
- 從 SQL Server 2019 (15.x) CU 3 開始支援 Ubuntu 18.04。
- 從 SQL Server 2019 (15.x) CU 10 開始支援 Ubuntu 20.04。
匯入公開存放庫 GPG 金鑰。
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
註冊 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
更新來源清單,並使用 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
選用:在 Bash 殼層中將
/opt/mssql-tools18/bin/
新增至您的PATH
環境變數。若要讓登入工作階段的 Bash 殼層可存取 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 預設 密碼原則。 依預設,密碼長度必須至少有 8 個字元,並包含下列四種字元組合中其中三種組合的字元:大寫字母、小寫字母、以 10 為底數的數字以及符號。 密碼長度最多可達 128 個字元。 盡可能使用長且複雜的密碼。
使用您的 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。如果成功,您應該會收到 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 文件