快速入門:在 Red Hat 上安裝 SQL Server 並創建數據庫
總體說明:
適用於:
SQL Server (僅限 Linux)
Azure SQL 數據庫
Azure SQL 數據倉庫
並行數據倉庫
在此快速入門中,您安裝 SQL Server 2017 或 SQL Server 2019 上 Red Hat Enterprise Linux (RHEL) 7.3 +。 然后使用連接sqlcmd創建第一個數據庫和運行查詢。
提示
本教程需要用戶輸入和 Internet 連接。
必要條件
必須使用 RHEL 7.3 或 7.4 計算機,且必須擁有至少 2 GB 的內存。
若要在自己的計算機上安裝 Red Hat Enterprise Linux,請訪問http://access.redhat.com/products/red-hat-enterprise-linux/evaluation。也可在 Azure 中創建 RHEL 虛擬機。 請參閱使用 Azure CLI 創建和管理 Linux VM,並在對 az vm create 的調用中使用 --image RHEL。
如果以前已安裝的 CTP 或 SQL Server 2017 的 RC 版本,必須執行以下步驟之前先刪除舊存儲庫。
安裝 SQL Server
若要在 RHEL 上配置 SQL Server,請在終端中運行以下命令,以便安裝mssql server包:
下載 Microsoft SQL Server 2017 Red Hat 存儲庫配置文件:
bash復制 sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
提示
如果你想要試用 SQL Server 2019,則必須改為注冊預覽版 (2019) 存儲庫。 對於 SQL Server 2019 安裝中使用以下命令:
bash復制
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-preview.repo
運行以下命令,安裝 SQL Server:
bash復制 sudo yum install -y mssql-server
程序包安裝完成后,請運行 mssql-conf setup 命令並按提示設置 SA 密碼,然后選擇版本。
bash復制 sudo /opt/mssql/bin/mssql-conf setup
提示
自由授權以下 SQL Server 2017 版本: Evaluation、 Developer 和 Express。
備注
請確保為 SA 帳戶指定強密碼(最少 8 個字符,包括大寫和小寫字母、十進制數字和/或非字母數字符號)。
配置完成后,請驗證服務是否正在運行:
bash復制 systemctl status mssql-server
若要允許遠程連接,請在 RHEL 上打開防火牆上的 SQL Server 端口。 默認的 SQL Server 端口為 TCP 1433。 如果對防火牆使用 FirewallD,可以使用以下命令:
bash復制 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。
下載 Microsoft Red Hat 存儲庫配置文件。
bash復制 sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
如果你有舊版mssql 工具安裝,請刪除任何較舊的 unixODBC 包。
bash復制 sudo yum remove unixODBC-utf16 unixODBC-utf16-devel
運行以下命令以安裝 mssql-tools 和 unixODBC 開發人員包。
bash復制 sudo yum install -y mssql-tools unixODBC-devel
為方便起見,請將 /opt/mssql-tools/bin/ 添加到 PATH 環境變量。 這樣就可以在運行工具時不指定完整路徑。 請運行以下命令,以便修改登錄會話和交互/非登錄會話的 PATH:
bash復制 echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc source ~/.bashrc
本地連接
以下步驟使用 sqlcmd 本地連接到新的 SQL Server 實例。
使用 SQL Server 名稱 (-S),用戶名 (-U) 和密碼 (-P) 的參數運行 sqlcmd。 在本教程中,用戶進行本地連接,因此服務器名稱為 localhost。 用戶名為 SA,密碼是在安裝過程中為 SA 帳戶提供的密碼。
bash復制 sqlcmd -S localhost -U SA -P ''
提示
可以在命令行上省略密碼,以收到密碼輸入提示。
提示
如果以后決定進行遠程連接,請指定 -S 參數的計算機名稱或 IP 地址,並確保防火牆上的端口 1433 已打開。
如果成功,應會顯示 sqlcmd 命令提示符:1>。
如果連接失敗,請首先嘗試根據錯誤消息診斷問題。
創建和查詢數據
下面各部分將逐步介紹如何使用 sqlcmd 新建數據庫、添加數據並運行簡單查詢。
新建數據庫
以下步驟創建一個名為 TestDB 的新數據庫。
在 sqlcmd 命令提示符中,粘貼以下 Transact-SQL 命令以創建測試數據庫:
SQL復制 CREATE DATABASE TestDB
在下一行中,編寫一個查詢以返回服務器上所有數據庫的名稱:
SQL復制 SELECT Name from sys.Databases
前兩個命令沒有立即執行。 必須在新行中鍵入 GO 才能執行以前的命令:
SQL復制 GO
提示
若要詳細了解如何編寫 Transact-SQL 語句和查詢,請參閱教程:編寫 Transact-SQL 語句。
插入數據
接下來創建一個新表 Inventory,然后插入兩個新行。
在 sqlcmd 命令提示符中,將上下文切換到新的 TestDB 數據庫:
SQL復制 USE TestDB
創建名為 Inventory 的新表:
SQL復制 CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
將數據插入新表:
SQL復制 INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
要執行上述命令的類型 GO:
SQL復制 GO
選擇數據
現在,運行查詢以從 Inventory 表返回數據。
通過 sqlcmd 命令提示符輸入查詢,以返回 Inventory 表中數量大於 152 的行:
SQL復制 SELECT * FROM Inventory WHERE quantity > 152;
執行命令:
SQL復制 GO
退出 sqlcmd 命令提示符
要結束 sqlcmd 會話,請鍵入 QUIT:
SQL復制
QUIT
性能最佳實踐
在 Linux 上安裝 SQL Server 后, 查看配置 Linux 和 SQL Server 來提高生產方案的性能的最佳做法。
跨平台數據工具
除了sqlcmd,可以使用以下跨平台工具來管理 SQL Server:
跨平台 GUI 數據庫管理實用程序。
用於運行 TRANSACT-SQL 命令的跨平台命令行界面。
運行 TRANSACT-SQL 語句,mssql 擴展通過一個跨平台 GUI 代碼編輯器。
從 Windows 連接
Windows 上的 SQL Server 工具連接到 Linux 上的 SQL Server 實例,操作方式與連接到任何遠程 SQL Server 實例一樣。
如果有一台可以連接到 Linux 計算機的 Windows 計算機,請從運行 sqlcmd 的 Windows 命令提示符嘗試執行本主題中的相同步驟。僅驗證所使用的是目標 Linux 計算機名稱或 IP 地址,而非 localhost,並確保 TCP 端口 1433 已打開。 如果從 Windows 進行連接存在任何問題,請參閱連接故障排除建議。
有關在 Windows 上運行,但連接到 Linux 上的 SQL Server 的其他工具,請參閱:
其他部署方案
有關其他安裝方案,請參閱以下資源:
了解如何升級 Linux 版 SQL Server 的現有安裝
在 Linux 上卸載 SQL Server
了解如何編寫無提示安裝腳本
了解如何手動下載脫機安裝程序包
后續步驟