linux连接sqlserver需要使用unixODBC来连接,而且需要和FreeTDS这个驱动配合才可以
1、安装ODBC
yum -y install unixODBC unixODBC-devel
2、安装unixODBC驱动
下载网站http://www.freetds.org/选择last stable版本,并解压缩
wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-1.3.13.tar.gz
tar zxvf freetds-1.3.13.tar.gz
安装三步骤(configure/make/make install),但是如上所说,安装时一定要指定unixODBC的安装路径。可以参考官网上帮助文件,如果要配合unixODBC使用,必须要使用--with-unixodbc参数。
$ cd freetds-1.3.13/
# 查看当前支持的 tdsver 版本,选择对应支持的 MSSQL 版本
$ ./configure --help
--with-tdsver=VERSION TDS protocol version (5.0/7.1/7.2/7.3/7.4/auto)
# 重编译安装,注意 tdsver 版本
$ ./configure --prefix=/usr/local/freetds --enable-msdblib --with-tdsver=7.4 --with-unixodbc=/usr/local/unixODBC
$ make && make install
设置参数
--prefix=/usr/local/freetds FreeTDS的默认安装目录 /usr/local/freetds
--with-unixodbc=/usr/local/unixODBC (指定unixODBC安装路径)
--enable-msdblib 允许 Microsoft 的函数库
--with-tdsver=7.4 指定TDS的协议版本,不填写则默认5.0版,7.4支持MSSQL2016
安装完毕后开始配置,默认配置文件在安装目录下的etc文件夹下,所以进/usr/local/freetds/etc下,修改freetds.conf文件
vim /usr/local/freetds/etc/freetds.conf
添加如下配置
[ms]
host = 192.168.0.2 #数据库IP
port =1433
tds version = 7.4 #需要使用的TDS版本
配置文件修改完毕后在/usr/local/freetds/bin下有tsql执行文件,执行如下命令:
/usr/local/freetds/bin/tsql -S ms -U sa -P 密码
如果安装没问题,这里就能正常连接了,进入FreeTDS的命令模式,如下图:
选择数据库,使用sql语句即可查询。如果能正常查询,到这里FreeTDS的安装结束了,输入exit退出即可。
配置unixODBC
前面已经安装过了,在安装目录下的bin文件夹下,有个isql执行文件,可以用于测试。
unixODBC的配置文件有两个,在安装目录下的etc文件夹中,一个是odbc.ini,一个是dbcinst.ini,前者配置数据源,后者配置使用的数据库驱动。
配置odbcinst.ini
vim /etc/odbcinst.ini
插入
[FreeTDS]
Description = unixODBC Driver
Driver = /usr/local/freetds/lib/libtdsodbc.so
Trace = Yes
TraceFile = /tmp/log/freetds.log
ForceTrace = Yes
UsageCount = 1
比较关键的是Driver参数,指定使用的驱动程序,Trace设置是否记录日志,TraceFile是日志文件存放路径。
配置odbc.ini
vim /etc/odbc.ini
[ODBC Data Sources]
mssql=MSSQL Server[mssql]
Driver = FreeTDS
Description = MSSQL Server
Servername = ms
PORT = 1433
TDS_Version = 7.4
- Driver:设置使用的驱动,对应odbcinst.ini中的驱动名字FreeTDS
- Servername:指的是服务器,这个很关键,这个其实就是前面FreeTDS配置文件中添加的数据源的名字。
- Database:要连接的数据库名字
配置完毕,可以使用安装目录bin下的isql文件进行测试,执行如下命令:
isql -v mssql sa 密码
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
ODBC连接sqlserver设置完成。
zabbix设置
监控机上安装agent,并正确设置主机名称和ip。
zabbix控制台中添加监控机地址,并按下图设置。
DSN中填写ODBC设置的名称mssql,点击确定后完成添加。