User with SQL database and Windows authentication have issues and get these errors:
com.microsoft.sqlserver.jdbc.SQLServerException: This driver is not configured for integrated authentication. ClientConnectionId:XXXXXXXX-1234-5678-9012-34567890XXXX
at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:3422)..
Caused by: java.lang.UnsatisfiedLinkError: no mssql-jdbc_auth-9.4.1.x64 in java.library.path
-----
com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'xxxx'. ClientConnectionId:xxxxxxxx-4635-4012-a48a-fdc4xxxxxxxx
-----
Release: 12.x, 24.x
Components:
OS: Windows only
The Database/SQL plugin will need new JDBC driver and DLL installed with the agent.
Steps:
Sample JDBC string for domain user:
jdbc:sqlserver://db_host:1433;databaseName=MyDB;integratedSecurity=true;authenticationScheme=NTLM
The "authenticationScheme=NTLM" is optional and may be required if NTLM is still being used. The Database plugin may not be able to login as well. If DB accepts integrated and native authentication then start agent as AD user that can login to SQL.
There is a recommendation from Microsoft about it as well. Make sure that agent machine is part of the same domain as SQL DB and add machine account (it has $ at end) to the DB. Consult Windows admin about machine account where agent is installed, then add it to the DB. The following is a sample SQL to add machine accounts
CREATE LOGIN [MyDomain\MyComputer$] FROM WINDOWS;