CHECK_SQL error with SQL Server

Hi,

We upgrade our CHeckMK to 2.3.0sp21.
We use check_sql for SQL Server control.

We have this error message for a control with a SQL Server database
Error while connecting to database: 20002, b’DB-Lib error message 20002, severity 9: Adaptive Server connection failed (XXXXXXXXXXXXXXX DB-Lib error message 20002, severity 9: Adaptive Server connection failed (XXXXXXXXXXXXXXX) ’

I follow this doc SQL Database Request Check

Module pymssql is installed :
OMD[XXXXXXX]:~$ pip3 list | grep pymssql
pymssql 2.3.2

Do you know how to resolv this problem?

Thanks for your help,

Matt

Hi all,

I tried to execute the control directly in ssh console of CMK Server

OMD[XXXXX]:~$ /opt/omd/versions/2.3.0p21.cre/lib/nagios/plugins/check_sql  "XXXXXXX" -d mssql -H XXXXXX -P XXXXXX   -n test -u XXXXXX -p "XXXXXX" --debug
Traceback (most recent call last):
  File "src/pymssql/_pymssql.pyx", line 650, in pymssql._pymssql.connect
  File "src/pymssql/_mssql.pyx", line 2158, in pymssql._mssql.connect
  File "src/pymssql/_mssql.pyx", line 712, in pymssql._mssql.MSSQLConnection.__init__
  File "src/pymssql/_mssql.pyx", line 1884, in pymssql._mssql.maybe_raise_MSSQLDatabaseException
  File "src/pymssql/_mssql.pyx", line 1901, in pymssql._mssql.raise_MSSQLDatabaseException
pymssql._mssql.MSSQLDatabaseException: (20009, b'DB-Lib error message 20009, severity 9:\nUnable to connect: Adaptive Server is unavailable or does not exist (XXXXXXXX)\n')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/omd/versions/2.3.0p21.cre/lib/nagios/plugins/check_sql", line 502, in <module>
    main()
  File "/opt/omd/versions/2.3.0p21.cre/lib/nagios/plugins/check_sql", line 479, in main
    conn = connect(args.dbms, args.hostname, args.port, args.name, args.user, args.password)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/omd/versions/2.3.0p21.cre/lib/nagios/plugins/check_sql", line 387, in connect
    return {
           ^
  File "/opt/omd/versions/2.3.0p21.cre/lib/nagios/plugins/check_sql", line 258, in mssql_connect
    return pymssql.connect(host=host, port=port, database=db_name, user=user, password=pwd)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "src/pymssql/_pymssql.pyx", line 659, in pymssql._pymssql.connect
pymssql.exceptions.OperationalError: (20009, b'DB-Lib error message 20009, severity 9:\nUnable to connect: Adaptive Server is unavailable or does not exist (XXXX)\n')

Thanks for your help,
Matt

Hi,
I resolved my problem.

source help me : Error : Unable to connect: Adaptive Server is unavailable or does not exist · Issue #896 · pymssql/pymssql · GitHub

I modified check_sql to force TDVS vesion for pymssq.connect method.

XXXXX@XXXXX:~$ cd /opt/omd/versions/2.3.0p21.cre/lib/nagios/plugins/

XXXXX@XXXXX:/opt/omd/versions/2.3.0p21.cre/lib/nagios/plugins# vi check_sql

BEFORE :

return pymssql.connect(host=host, port=port, database=db_name, user=user, password=pwd)

AFTER :

return pymssql.connect(host=host, port=port, database=db_name, user=user, password=pwd, tds_version="7.0")

Hope that all someone,

Matt

4 Likes

Thanks, that also resolved the issue for me.

May I ask what version the sql server is which you try to connect to?

Hi,
SQL Server 2019
Matt

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed. Contact an admin if you think this should be re-opened.