Windows 統合認証を使用して MID サーバーから MS SQL Server にアクセスできないIssue バックグラウンド お客様は、 Windows 統合認証 (NTLM 認証、ドメイン認証などとも呼ばれます: https://en.wikipedia.org/wiki/Integrated_Windows_Authentication を使用して、Windows ホストで実行されている MID サーバーを使用して、JDBC 経由で MS SQL Server に対してクエリを実行できます。 問題の症状 一部のお客様に次のエラーが表示されています。 MID Server reported error: java.sql.SQLException: com.microsoft.sqlserver.jdbc.SQLServerException: This driver is not configured for integrated authentication. ClientConnectionId:f5905e6e-13c1-48da-85ef-fe1bd7e0a57d com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:1667) com.microsoft.sqlserver.jdbc.AuthenticationJNI.(AuthenticationJNI.java:60) com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:2229) com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:41) com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:2220) com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696) com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715) com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1326) com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:991) com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827) com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012) java.sql.DriverManager.getConnection(Unknown Source) java.sql.DriverManager.getConnection(Unknown Source) com.service_now.mid.connections.jdbc.JDBCConnection.establishConnection(JDBCConnection.java:102) com.service_now.mid.connections.jdbc.JDBCConnection.connect(JDBCConnection.java:74) com.service_now.mid.connections.jdbc.JDBCConnectionFactory.create(JDBCConnectionFactory.java:65) com.service_now.mid.connections.ConnectionCachePool.getAvailableConnection(ConnectionCachePool.java:82) com.service_now.mid.connections.ConnectionCache.get(ConnectionCache.java:94) com.service_now.mid.probe.JDBCProbe.getJDBCConnection(JDBCProbe.java:768) com.service_now.mid.probe.JDBCProbe.probe(JDBCProbe.java:116) com.service_now.mid.probe.AProbe.process(AProbe.java:96) com.service_now.mid.queue_worker.AWorker.runWorker(AWorker.java:125) com.service_now.mid.queue_worker.AWorkerThread.run(AWorkerThread.java:20) java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) java.lang.Thread.run(Unknown Source) ステップ 1:SNC_JVM_ARCH変数が正しいことを確認する \agent\conf\wrapper-jvm.conf ファイル内の が MID サーバーのインストールディレクトリにあり、次のいずれかの行が含まれていることを確認します (64 ビット MID サーバーのインストールには x86-64、32 ビット MID サーバーには x86-32 を使用します)。set.SNC_JVM_ARCH=x86-64またはset.SNC_JVM_ARCH=x86-32 重要: この変数は、ホスト OS ではなく、 Mid サーバー のアーキテクチャ (32 ビットの場合は x86-32、64 ビットの場合は x86-64) に設定する必要があります。32 ビット MID サーバーを 64 ビットホスト OS にインストールして動作させることができます。MID サーバーが 32 ビットと 64 ビットのどちらの MID サーバーインストーラーからインストールされたかわからない場合は、次の操作を行って確認します。 MID サーバーがインストールされているフォルダーに移動し、 logs ディレクトリに移動します最新の agent...ログファイルログファイルで文字列 AutoUpgrade.3600 Installed を検索します 次のような内容が表示されます。インストールされている MID サーバーが x86-32 か x86-64 かを示す最後の部分に注意してください。2019-11-20 22:01:13 (530) AutoUpgrade.3600 Installed: [mid-core.newyork-06-26-2019__patch2-09-18-2019_09-24-2019_1701.universal.universal.zip, mid-jre.madrid-12-18-2018__patch3-04-24-2019_05-03-2019_1443.windows.x86-32.zip]Example for 64-bit:11/12/19 05:03:00 (719) AutoUpgrade.3600 Installed: [mid-jre.madrid-12-18-2018__patch0-01-08-2019_01-17-2019_1433.linux.x86-64.zip, mid-core.madrid-12-18-2018__patch7a-10-01-2019_10-03-2019_1530.universal.universal.zip] 手順 2: Java クラスパス変数とライブラリパス変数が正しいことを確認する 上記で問題が解決しない場合は、次の手順を試してください。 MID サーバーのインストールディレクトリーにある \agent\conf\wrapper-override.conf または wrapper.conf (優先 wrapper-override.conf) ファイルに、以下があることを確認します# Java Classpath (include wrapper.jar)# Add class path elements as needed starting from 1wrapper.java.classpath.1=lib/*.jarwrapper.java.classpath.2=extlib/*.jar# Java Library Path (location of Wrapper.DLL or libwrapper.so)wrapper.java.library.path.1=libwrapper.java.library.path.2=lib/%SNC_JVM_ARCH%lib/x86-32 および lib/x86-64 フォルダに正しいバージョンの sqljdbc_auth.dll (32 ビットまたは 64 ビット) があることを確認してください構成を変更した後は、必ず MID サーバーを再起動してくださいSQL Server が統合認証 (https://msdn.microsoft.com/en-us/library/bsz5788z.aspx) を許可するように構成されていることを確認しますドライバーの互換性を確認する (https://docs.microsoft.com/en-us/sql/connect/jdbc/microsoft-jdbc-driver-for-sql-server-support-matrix?view=sql-server-2017) ステップ 3:サポートへの連絡 それでも問題が解決しない場合は、HI でカスタマーサポートにケースを作成し、上記のトラブルシューティング手順の結果と次の詳細を提供してください。 a) MID サーバー OSb) JRE バージョンc) JDBC ドライバーの jar ファイルとバージョンd) sqljdbc_auth.dllのすべての発生件数とそのバージョン情報の完全パスe) エラーが発生した MID サーバーログとラッパーログの抽出。