在Linux系统上安装SQL Server客户端记

在一些情况下,运行在Linux上的服务需要访问SQL Server数据库;而在一些特殊情况下,我们需要快速确认访问SQL Server数据库是否有异常。比如我遇到的这种情况,一个java服务在其他机器上可以正常运行,而在某台Linux机器上就运行不起来,同时,已确认这台机器可以正常访问SQL Server服务器的IP和端口。当然,这种情况下有很多解决办法,比如我可以专门写个java的程序或者python的脚本去验证访问SQL Server是否有问题。不过自己写程序毕竟还是稍微麻烦些,而且还要引用和安装各种类库,不是很方便。

实际上,从SQL Server 2017开始,SQL Server就可以稳定地在Linux上运行了。所以,在Linux上直接使用Microsoft官方的客户端工具是最方便的一种方式。虽然确实很方便也很简单,但是如果没有找到窍门,还是要费点功夫的。

下面是在Linux上安装SQL Server客户端的方法:
1.在开始之前,确认下系统信息,我用的系统是:CentOS Linux release 7.0.1406 (Core)

2.添加Microsoft官方的源
  这步其实是最重要的,是正常安装的关键。网络上很多文章包括官方的文档里都会给出这一步,但实际上这一步的地址Microsoft会更新和变更,直接引用文章中的地址往往会出错。这一步需要自己做一些判断和选择。
  Microsoft官方源的父目录地址为:https://packages.microsoft.com/config/
  打开后显示如下:

在Linux系统上安装SQL Server客户端记_第1张图片
  我们需要根据自己的系统进行选择。
  我用的是CentOS 7.0,所以选https://packages.microsoft.com/config/centos/7/prod.repo

在Linux系统上安装SQL Server客户端记_第2张图片
  
3.安装SQL Server客户端
   非常简单,执行“yum install mssql-cli -y”就可以安装成功了。

在Linux系统上安装SQL Server客户端记_第3张图片

       这里需要说下的是,Microsoft官方是有几个命令行实用工具的,常见的是sqlcmd,这个是在SQL Server比较老的版本中就有的。安装sqlcmd的命令是:”yum install mssql-tools -y”,安装好的路径是/opt/mssql-tools,需要自己设置环境变量或者做链接才好用。


       不过,sqlcmd在Microsoft官方最新更新的一些源中已经不支持了。比如我选的这个源执行”yum install mssql-tools -y”就会报”No package mssql-tools available.Error: Nothing to do”,不能安装成功。


       而mssql-cli是SQL Server 2016开始支持的一个开源交互式命令行工具,提供了T-SQL智能感知、语法高亮、多行编辑、结果格式美化、支持配置文件等功能,个人感受比sqlcmd好用太多,推荐使用mssql-cli。


4.运行mssql-cli
   mssql-cli的使用跟mysql很像,不过参数有所区别。
   -S或--server 指定服务器地址,如果是默认的1433端口,那么不写也行;如果是其他端口的话,在后面加逗号和端口就行。
   -U或--username 指定用户名
   -P或--password 指定密码

在Linux系统上安装SQL Server客户端记_第4张图片

OK.现在就可以畅快地在Linux上跟访问MySQL一样访问SQL Server 数据库了。

你可能感兴趣的:(Linux系统,sql,server,mssql-cli)