How to eliminate MS SQL APMIA errors
search cancel

How to eliminate MS SQL APMIA errors

book

Article ID: 366712

calendar_today

Updated On:

Products

DX Application Performance Management

Issue/Introduction

Trying to monitor an MS SQL database from an Infrastructure agent deployed on Linux RedHat 8.x.

Getting the following errors:

[ERROR] [IntroscopeAgent.DBMonitor] 
com.microsoft.sqlserver.jdbc.SQLServerException: This driver is not configured for integrated authentication. ClientConnectionId:<Id>
 at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:3937)
 at com.microsoft.sqlserver.jdbc.AuthenticationJNI.<init>(AuthenticationJNI.java:74)
 at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:5013)
 at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:5002)
 at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7685)
 at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:4048)
 at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:3487)
 at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:3077)
 at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:2919)
 at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:1787)
 at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1229)
 at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
 at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
 at com.ca.agent.extensions.dbmon.DBMonMetricsContext.initializeConnection(DBMonMetricsContext.java:318)
 at com.ca.agent.extensions.dbmon.commands.DBMonExecuteAttributeQueryCommand.execute(DBMonExecuteAttributeQueryCommand.java:65)
 at com.ca.agent.extensions.dbmon.DBMonChain.run(DBMonChain.java:66)
 at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
 at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.UnsatisfiedLinkError: Unable to load authentication DLL mssql-jdbc_auth-12.2.0.x64
 at com.microsoft.sqlserver.jdbc.AuthenticationJNI.<clinit>(AuthenticationJNI.java:63)
 at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:5012)
 at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:5002)
 at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7685)
 at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:4048)
 at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:3487)
 at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:3077)
 at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:2919)
 at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:1787)
 at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1229)
 at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
 at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
 at com.ca.agent.extensions.dbmon.DBMonMetricsContext.initializeConnection(DBMonMetricsContext.java:318)
 at com.ca.agent.extensions.dbmon.commands.traces.DBMonExecuteTraceQueryCommand.execute(DBMonExecuteTraceQueryCommand.java:71)
 ... 4 common frames omitted

 

How can these errors be resolved.

Resolution

If you are receiving the error above, there are three possibilities that could be causing it to show up. 

  • First, you specified authenticationScheme=NativeAuthentication in your connection string and are on a Linux Platform. 
  • Second, you specified integratedSecurity and omitted authenticationScheme, which defaulted to NativeAuthentication, and are on a Unix/Linux Platform. 
  • Third, you are using a version of the JDBC Driver prior to the 4.0 driver and trying to use Integrated Authentication on a Unix/Linux platform. In the third case, even if specifying authenticationScheme=JavaKerberos, it won’t help as the older drivers aren’t aware of it, so it is ignored.