Database Management

Errors in DPA 2021.3 and later on connections to SQL server with domain accounts

This article describes workarounds to errors in DPA 2021.3 and later on screens for connections to SQL servers with domain accounts. These errors can occur when you are creating the repository database, registering a SQL Server database instance for monitoring, or updating connections to a SQL Server monitored instance.

First published date

10/29/2021 7:12 PM

Last published date

4/30/2025 11:05 PM

Overview

In DPA 2021.3 and later, errors can occur when users are attempting the following tasks:

  • When you attempt to create a repository database on a SQL Server instance, the Repository Creation Wizard might display errors if you are using a domain account.
  • You might see errors when you attempt to register a SQL Server instance for monitoring using a domain account.
  • Errors can also occur when you are updating a domain account in Options -> Monitor setup section -> Update connection.

What errors are shown and when they occur can vary based on environmental factors. This article describes the errors and lists possible workarounds to try and next steps if they do not work. 

Product section

Database Performance Analyzer

Cause

The main issue seems to be that the default driver for connections from DPA was changed in DPA 2021.3, and not all properties that are required for the new driver are set in the connection string by default.

Another issue is an error for TLS_HANDSHAKE on some older, unpatched SQL servers on all of the same screens mentioned. TLS 1.0 and 1.1 are disabled in the JDK (since v11.0.11) shipped with DPA 2021.3 and later. Some SQL servers that are not patched for TLS may display errors in any of the screens. See the TLS section below.

Examples of errors and steps to reproduce

Unable to register a SQL Server database instance as a repository with a domain user

  1. Open the Repository Creation Wizard.
  2. Choose Microsoft SQL Server.
  3. In step 2, choose Windows authentication and set a domain user with a correct password.
  4. Click the Next button.
  5. Examples of the errors on the screen and exceptions from the Wizard.log file are shown below.
DEBUG  (2021-10-01T11:21:50,407-0500) [https-jsse-nio-8124-exec RepositoryCreationServiceImpl:682 - Connection to database failed 
[exception=com.confio.ignite.common.jdbc.exceptions.DatabaseConnectionException: A connection to the database could not be established: Invalid user and/or password [cause=org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'example_user'  ClientConnectionId:0e42f56b-ad06-4c17-a197-1925aa20a11a]]
Repo_error1.jpg

Example error 2: 

Exception thrown executing [AnnotatedAction@103ab220 targetAction = [RepointMonDbAction@7886fa5f formObjectName = 'idcFormData', formObjectClass = RepointMonDbData, formObjectScope = FLOW], attributes = map['method' -> 'validateConnectionInfo']] in state 'validateConnectionInfo' of flow 'repoint-mondb-flow' – action execution attributes were 'map[[empty]]' 

Repo_error2.jpg

Unable to register a SQL Server database instance with a domain user

  1. Open the SQL Server registration wizard and choose "DPA will create/configure the monitoring user." 
  2. In step 2, choose SQL Server authentication and set SYSADMIN credentials.
  3. In step 3 (setting up a Monitoring User) choose Windows authentication and set a domain user with a correct password.
  4. Errors similar to the examples above are displayed.

Unable to update a domain user and Password for a monitored SQL Server database instance

  1. Open the update wizard for a monitored SQL Server database instance registered with the jTDS driver.
  2. Set a domain user for the new Monitoring User with the correct password.
  3. Click the Next button.
  4. An error similar to one of the examples above is displayed.

-- This also may be caused by Named Instances and static ports due to the Browser Service

       1.  In Update Connection Wizard - Click the ServerName or IP

       2.  Remove Named Instance piece in ServerName

       3.  Update your Monitoring un/pw

       4.  This allows the Wizard to pass this Target updates through

 

Errors for TLS_HANDSHAKE

The following errors can occur when you are creating the repository, registering a SQL Server instance for monitoring, or updating a connection for an existing monitored instance.

INFO (2021-10-06T12:14:42,146-0400) [http-nio-8123-exec-1] WizardFormAction:272 - TLS_HANDSHAKE_FAILED: The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]
com.solarwinds.common.network.error.NetworkingException: TLS_HANDSHAKE_FAILED: The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]

TLS_ERROR.jpg

Resolution

The following sections provide possible workarounds for these issues.

Unable to register a SQL Server database instance as a repository with a domain user: Workarounds

There are three possible workaround options. The first option is the simplest and has worked on a number of servers.

Option 1: Add connection properties

  1. On the screen with the error, click "Advanced connection properties".
  2. Enter the following string in JDBC URL Properties box:
    authenticationScheme=NTLM;integratedSecurity=true
  3. Click OK.
    Repo_workAround.jpg

Option 2: Switch to the jTDS driver

  1. Open the system.properties file in a text editor. This file is in the following location:
    <DPA-install-dir>\iwc\tomcat\ignite_config\idc\system.properties
    • To find the DPA installation directory on a Windows server, look for the service called "Ignite PI Server" in Windows services. Right-click it and select Properties. The "path to executable" will show the path to tomcat\bin directory, and you can navigate from there. 
    • To find the path on a Linux server, run the following command: 
      ps -ef | grep dpa
  2. Look for the com.confio.ignite.jdbc.sqlserver.useJtdsDriver property (it might not be there for new installations).
    • If the property is there, change the value to true.
    • If the property is not there, add the following line:com.confio.ignite.jdbc.sqlserver.useJtdsDriver=true 
    The updated file should look like the following example:
    # Use jTDS jdbc driver when connection to SQL Server repository 
    # If set to false Microsoft driver will be used instead com.confio.ignite.jdbc.sqlserver.useJtdsDriver=true
  3. Stop and restart DPA. On a Windows server, stop and restart the Ignite PI Server service. On a Linux server, run the ./shutdown.sh and  ./startup.sh commands.

Option 3: Use a SQL authentication account

Use a SQL authentication account instead of a domain account to connect to the instance.

Unable to register a SQL Server database instance with a domain user: Workarounds

For DPA 2023.1 and earlier, use Option 1 or Option 3 in the previous section on repository registration errors.

For DPA 2023.2 and later, use any of the options (1, 2, or 3) in the previous section. 

Note: Option 2 (switching to the jTDS driver) works on all versions when you are registering the repository database. But when you are registering a database instance for monitoring, this option works on DPA 2023.2 and later. 

Unable to update a domain user for a monitored SQL Server database instance: Workarounds

Option 1: Add connection properties

In the Updated DB Instance Connection Wizard, select JDBC URL Properties and enter the following in the text box:
integratedSecurity=true

update_WorkAround1.jpg

Option 2: Switch to the jTDS driver

In the Updated DB Instance Connection Wizard, select the Microsoft JDBC Driver option. Note: This box is present only for instances that were registered in a previous DPA release.

update_WorkAround2.jpg

Errors for TLS_HANDSHAKE: Workarounds

Option 1: Update the SQL Server instance to support TLS 1.2

Patch SQL Server to a newer Service Release or Cumulative Update that contains support for TLS 1.2 or later. Microsoft documentation stating the patch levels required per SQL Server version to support TLS 1.2 Microsoft patches can be found here.

Option 2: Re-enable support for less secure TLS versions in DPA (not recommended)

If you cannot update the SQL Server instance, you can continue to use TLS 1.0. This workaround is not recommended because it reduces security. If you are willing to accept the risk, complete the following steps:

  1. Open the following file in a text editor (or the corresponding file if you are using custom Java on Windows or Linux):
    <DPA-install-dir>\iwc\jre\conf\security\java.security
  2. Find jdk.tls.disabledAlgorithms.
  3. Remove TLSv1, TLSv1.1. Then save the changes.
  4. Stop and restart DPA.