1. 背景
安裝SQL Server on Linux以後,在命令行下使用sqlcmd,你會發現代碼提示,語法高亮,甚至連多行復制都不支持,相比之下,MySQL的命令行客戶端還好用多了。只作簡單的命令管理還行,作數據庫開發確定還得使用SSMS才行。不過,微軟不久前發佈了一款針對SQL Server新命令行的交互工具——
mssql-cli,詳細見SQL Server Blog有介紹:
該工具提供瞭如下特性:
- T-SQL IntelliSense T-SQL智能感知
- Syntax highlighting 語法高亮
- Pretty formatting for query results, including Vertical Format 查詢結果格式美化,包括垂直格式
- Multi-line edit mode 多行編輯模式
- Configuration file support 支持配置文件
![](http://static.javashuo.com/static/loading.gif)
Figure-1:智能提示
2. 安裝
2.1 安裝最新的EPEL(Extra Packages for Enterprise Linux)
[root@134test ~]# yum install epel-release
2.2 安裝相關依賴
[root@134test ~]# yum install libunwind libicu python-pip
2.3 安裝mssql-cli
[root@134test ~]# pip install mssql-cli
2.4 使用mssql-cli登陸
[root@134test ~]# mssql-cli -U sa
Password:
Version: 0.8.0
Mail: sqlcli@microsoft.com
Home: http://github.com/dbcli/mssql-cli
master>SELECT @@version
+--------------------+
| (No column name) |
|--------------------|
| Microsoft SQL Server 2017 (RC2) - 14.0.900.75 (X64)
Jul 27 2017 08:53:49
Copyright (C) 2017 Microsoft Corporation
Developer Edition (64-bit) on Linux (CentOS Linux 7 (Core)) |
+--------------------+
(1 row affected)
Time: 0.103s
master>
3. 體驗
在Xshell使用mssql-cli,有如下幾點心得,歡迎補充。
- 語法高亮,智能提示,查詢結果格式美化都有了。
- 若是橫向顯示的字段過長,會自動把表的字段以縱向的格式顯示,並支持逐行上下翻。
- 直接回車便可執行語句,無須以GO結束。
不過也發現幾個問題:
- 直接粘貼多行語句仍是會出錯。(難道我複製的姿式不對?)
- 查詢返回的數據較多,返回結果較慢;查詢較大的數據,很慢。如果等不及按下兩次ctrl+c,會以下錯誤。
- 字段的內容過長沒法顯示完整。
![](http://static.javashuo.com/static/loading.gif)
Figure-3:查詢過程當中兩次ctrl+c後報錯
4. 總結
在命令行環境下有所加強的功能仍是挺好的,適合於沒有圖形化界面的場景下使用。若是用於開發、管理或查詢等,有條件的狀況下,仍是建議在Windows平臺下使用SSMS吧。