安裝 SQL Server
- 下載 Microsoft SQL Server 2017 Red Hat 存儲庫配置文件:
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 安裝中使用以下命令:
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-preview.repo
- 運行以下命令,安裝 SQL Server:
sudo yum install -y mssql-server
- 程序包安裝完成后,請運行 mssql-conf setup 命令並按提示設置 SA 密碼,然后選擇版本。
。
- 配置完成后,請驗證服務是否正在運行:
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 命令行工具: sqlcmd和bcp。
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
- 下載 Microsoft Red Hat 存儲庫配置文件。
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
- 如果你有舊版mssql 工具安裝,請刪除任何較舊的 unixODBC 包。
sudo yum remove unixODBC-utf16 unixODBC-utf16-devel
- 運行以下命令以安裝 mssql-tools 和 unixODBC 開發人員包。
sudo yum install -y mssql-tools unixODBC-devel
4. 為方便起見,請將 /opt/mssql-tools/bin/ 添加到 PATH 環境變量。 這樣就可以在運行工具時不指定完整路徑。 請運行以下命令,以便修改登錄會話和交互/非登錄會話的 PATH:
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 帳戶提供的密碼。
sqlcmd -S localhost -U SA -P '<YourPassword>'
- 如果成功,應會顯示 sqlcmd 命令提示符:1>。
提示
可以在命令行上省略密碼,以收到密碼輸入提示。
如果以后決定進行遠程連接,請指定 -S 參數的計算機名稱或 IP 地址,並確保防火牆上的端口 1433 已打開。
如果在輸入密碼后出現如下錯誤
通過命令systemctl status mssql-server查看sqlserver運行狀態是,出現如下錯誤
網上查詢得知,SQL Server沒有啟動,因為操作系統沒有3250MB的內存。
創建和查詢數據
下面各部分將逐步介紹如何使用 sqlcmd 新建數據庫、添加數據並運行簡單查詢。
新建數據庫
以下步驟創建一個名為 TestDB
的新數據庫。
- 在 sqlcmd 命令提示符中,粘貼以下 Transact-SQL 命令以創建測試數據庫:
CREATE DATABASE TestDB
- 在下一行中,編寫一個查詢以返回服務器上所有數據庫的名稱:
SELECT Name from sys.Databases
- 前兩個命令沒有立即執行。 必須在新行中鍵入 GO 才能執行以前的命令:
GO
插入數據
接下來創建一個新表 Inventory
,然后插入兩個新行。
- 在 sqlcmd 命令提示符中,將上下文切換到新的
TestDB
數據庫:
USE TestDB
- 創建名為 Inventory 的新表:
CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
- 將數據插入新表:
INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
- 要執行上述命令的類型 GO:
GO
選擇數據
現在,運行查詢以從 Inventory
表返回數據。
- 通過 sqlcmd 命令提示符輸入查詢,以返回
Inventory
表中數量大於 152 的行:
SELECT * FROM Inventory WHERE quantity > 152;
- 執行命令:
GO
退出 sqlcmd 命令提示符
要結束 sqlcmd 會話,請鍵入 QUIT
:
QUIT