CentOS7 安裝并使用SQL Server
Linux 上的 SQL Server 安裝指南
筆者基于CentOS7進行安裝操作
- 下載 Microsoft SQL Server Red Hat 存儲庫配置文件
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server.repo
- 運行以下命令,安裝 SQL Server
sudo yum update -y
sudo yum install -y mssql-server
- 安裝完成之后,執行下面命令,根據提示設置SA密碼,并選擇相應的版本
sudo /opt/mssql/bin/mssql-conf setup
![圖片描述][1]
確保SA賬戶密碼輕度滿足默認要求(最少 8 個字符,包括大寫和小寫字母、十進制數字和/或非字母數字符號)
- 配置完成后,請驗證服務是否正在運行
systemctl status mssql-server
![圖片描述][2]
- 開啟防火墻上的 SQL Server 端口,默認為TCP 1433
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload
# firewall-cmd未啟用不需要做此設置
到此,SQL Server已在CentOS7上正常運行
安裝 SQL Server 命令行工具
要創建數據庫,需要使用一種工具,可以在 SQL Server 上運行 TRANSACT-SQL 語句進行連接。 以下步驟安裝 SQL Server 命令行工具:sqlcmd和bcp
- 下載 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 update
sudo yum remove unixODBC-utf16 unixODBC-utf16-devel
- 運行以下命令以安裝mssql 工具與 unixODBC 開發人員包
sudo yum update
sudo yum install -y mssql-tools unixODBC-devel
- 添加/opt/mssql-tools/bin/路徑到環境變量
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>
![圖片描述][3]
使用SQL Server創建和查詢數據
新建數據庫,創建一個名為
AniuDB
的數據庫
- 在 sqlcmd 命令提示符中,粘貼以下 Transact-SQL 命令以創建測試數據庫:
CREATE DATABASE AniuDB
- 在下一行中,編寫一個查詢以返回服務器上所有數據庫的名稱
SELECT Name from sys.Databases
- 前兩個命令沒有立即執行。 必須在新行中鍵入
GO
才能執行以前的命令:
GO
![圖片描述][4]
接下來創建一個新表 itdevops,然后插入兩個新行
- 在 sqlcmd 命令提示符中,將上下文切換到新的
AniuDB
數據庫:
USE AniuDB
- 創建名為
itdevops
的新表:
CREATE TABLE itdevops(id INT, name NVARCHAR(50), quantity INT)
- 將數據插入表中
INSERT INTO itdevops VALUES (1, 'banana', 150); INSERT INTO itdevops VALUES (2, 'orange', 100);
- 執行GO
GO
選擇數據,運行查詢從
itdevops
變返回數據
- 通過 sqlcmd 命令提示符輸入查詢,以返回
itdevops
表中數量大于 100 的行
SELECT * FROM itdevops WHERE quantity > 100;
# 執行 GO
- 退出 sqlcmd 命令提示符
quit
從 Windows 進行連接
Windows 上的 SQL Server 工具連接到 Linux 上的 SQL Server 實例,操作方式與連接到任何遠程 SQL Server 實例一樣
- Windows 上運行,連接到 Linux 上的 SQL Server 的其他工具:
SSMS: https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-develop-use-ssms
WP: https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-manage-powershell
SSDT: https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-develop-use-ssdt