Documentation forDatabase Performance Analyzer

DPA 2022.1 Release Notes

Release date: January 19, 2022

These release notes describe the new features, improvements, and fixed issues in Database Performance Analyzer 2022.1. They also provide information about upgrades and describe workarounds for known issues.

Learn more

  • For information on the latest hotfixes, see DPA Hotfixes.
  • For release notes for previous DPA versions, see Previous Version documentation.
  • For information about requirements, see DPA system requirements.
  • For information about working with DPA, see the DPA Administrator Guide.

New features and improvements in DPA

Return to top

DPA 2022.1 offers new features and improvements compared to previous releases of DPA.

Automatic rule-based assignment of database instances to alerts

When you configure an alert, you can create a rule to identify database instances that meet one or more conditions. With each execution, DPA uses the rule to automatically determine which instances the alert is executed against. For example, you could create a rule to include all instances of a certain type or version, or use a custom property to include all production database instances.

With rule-based assignment, you no longer need to update alert definitions whenever you add or remove database instances or when custom property values change.

Improvements to manual assignment

If you choose to manually assign database instances to an alert, the new Available database instances page includes filters and search functionality to help you locate instances quickly.

Alert notifications in Slack and Teams

DPA can use webhooks to post alert notifications to Slack or Teams. In addition to email and SNMP contacts, you can create Slack or Teams webhook contacts and include them as recipients of alert notifications.

Improved contact management interface

The Contact management page provides information at a glance, such as the contact type, group membership, and whether the contact is active. Filters and search functionality help you locate instances quickly.

Google Cloud SQL for SQL Server support

In addition to PostgreSQL, DPA 2022.1 supports monitoring SQL Server database instances in the Google Cloud Platform (GCP).

Changes to mass registration

Mass registration worksheets for a specific type of database (such as Oracle or SQL Server) are no longer used. The same worksheet is used for all database types. (See End of support.) The worksheet columns have been updated. For example, the worksheet now includes a Deployment column and provides separate columns for the Oracle service name and SID. For more information about completing the worksheet, see Register multiple database instances.

Changes to system requirements and monitored instances

DPA 2022.1 adds support for the following:

Category Addition
DPA server
  • Windows Server 2022
  • Windows 11 (evaluation only)
Amazon RDS instances DPA can monitor
  • Oracle 19
  • Aurora PostgreSQL 14
Google Cloud SQL for SQL Server instances DPA can monitor
  • 2019
  • 2017
Self-managed instance DPA can monitor
  • PostgreSQL 14

DPA 2022.1 removes support for the following:

Category Removal
DPA repository database
  • Oracle 11.2

Fixed issues in DPA 2022.1

Return to top

DPA 2022.1 fixes the following issues.

Case Number Description
00961632

DPA 2022.1 removes the files that are affected by multiple Apache Log4j vulnerabilities (CVE-2021-44228, CVE-2021-45046, and CVE-2021-44832) and replaces them with version 2.17.1 of these files. Version 2.17.1 of the files are not affected by these CVEs.

These vulnerabilities are third-party vulnerabilities in Apache Log4j software, which is used widely across the software industry.

00902320, 00936253

DPA 2022.1 includes additional security enhancements.

00932721

Custom alerts work as expected on Oracle database instance that were registered with the TNS name or descriptor.

00925814

DPA is able to collect statistics from a Sybase instance when the monitoring user was not granted the sa_role.

00927618, 00941775

Unknown property names in the repo.properties file no longer prevent DPA from starting.

00894406

A change to DPA polling prevents it from causing deadlocks in certain situations.

00888292
00891039

The DPA home page lists groups in alphabetical order.

00946432

Performance of the Current alert status page has been improved.

00947800

When you create a Custom SQL Alert - Multiple Numeric Return alert and configure DPA to send a notification when the alert level returns to Normal, DPA sends the notification.

0090045, 00941944

If a mail server does not support the extended ASCII character set, integration with DPA no longer fails if the password includes a non-US ASCII character such as £, €, or ¥.


Third-Party CVEs

SolarWinds would like to thank our Security Researchers below for reporting on the issue in a responsible manner and working with our security, product, and engineering teams to fix the vulnerability.

CVE-ID Vulnerability Title Description Severity
CVE-2021-44228 Log4j2 Remote Code Execution Vulnerability Apache Log4j2 2.0-beta9 through 2.12.1 and 2.13.0 through 2.15.0 JNDI features used in configuration, log messages, and parameters do not protect against attacker-controlled LDAP and other JNDI related endpoints. An attacker who can control log messages or log message parameters can execute arbitrary code loaded from LDAP servers when message lookup substitution is enabled. From log4j 2.15.0, this behavior has been disabled by default. From version 2.16.0, this functionality has been completely removed. Note that this vulnerability is specific to log4j-core and does not affect log4net, log4cxx, or other Apache Logging Services projects. Critical
CVE-2021-45046 Log4j2 Denial of Service Vulnerability It was found that the fix to address CVE-2021-44228 in Apache Log4j 2.15.0 was incomplete in certain non-default configurations. This could allow attackers with control over Thread Context Map (MDC) input data when the logging configuration uses a non-default Pattern Layout with either a Context Lookup (for example, $${ctx:loginId}) or a Thread Context Map pattern (%X, %mdc, or %MDC) to craft malicious input data using a JNDI Lookup pattern resulting in a denial of service (DOS) attack. Log4j 2.15.0 makes a best-effort attempt to restrict JNDI LDAP lookups to localhost by default. Log4j 2.16.0 fixes this issue by removing support for message lookup patterns and disabling JNDI functionality by default. Critical
CVE-2021-44832 Log4j Remote Code Execution Vulnerability Apache Log4j2 versions 2.0-beta7 through 2.17.0 (excluding security fix releases 2.3.2 and 2.12.4) are vulnerable to a remote code execution (RCE) attack when a configuration uses a JDBC Appender with a JNDI LDAP data source URI when an attacker has control of the target LDAP server. This issue is fixed by limiting JNDI data source names to the java protocol in Log4j2 versions 2.17.1, 2.12.4, and 2.3.2. 6.6 Medium

New customer installation

Return to top

For information about installing DPA, see the DPA Installation and Upgrade Guide. You can download a free trial from the SolarWinds website.

How to upgrade

If you are upgrading from an earlier version, use the following resources to plan and implement your upgrade:


Known issues

Return to top

The database name is not updated for stored procedures
Issue

If a stored procedure name includes the name of a database and it is copied to a different database, the database name is not updated. When DPA shows information about the copied stored procedure, the hash is the same as the first and the information appears to be incorrect.

Resolution or Workaround

If you experience this issue, complete the following steps:

  1. Run the following command against the DPA repository database (replacing <HashValue> with the stored procedure's hash value):

    delete from ignite.CONST_<DBID> where H = '<HashValue>'

  2. Restart DPA.
Registering an Azure SQL database instance fails when the privileged user is an Azure AD user
Issue

When registering an Azure SQL database, if you let DPA create the monitoring user and select an Azure Active Directory (AD) user as the privileged user, registration fails on the last step with the message Connection test to database as monitoring user failed.

Resolution or Workaround Select the option 'I'll create the contained user or login', and follow the instructions to create the monitoring user manually.
SQL Server cannot be registered using TLS 1.0
Issue

During registration, SQL Server might return the following error in the registration wizard:

TLS handshake failed. Could not connect to the server using SSL.

This is accompanied by the following error in the wizard.log:

The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]

This happens because the server (for example, a server running SQL Server 2008 R2) is not patched to a version that supports newer TLS 1.2 or 1.3, which DPA requires for secure communication. This requirement is inherited from the JDK shipped with DPA, which disables TLS 1.0 and 1.1 by default. This occurs in JDK 11.0.11 and later.

Resolution or Workaround

To resolve this issue, patch SQL Server to a newer Service Release or Cumulative Update that contains support for TLS 1.2 or later. See this Microsoft KB article for information about each SQL Server version.

If you cannot apply the resolution, you can use the following as a workaround and continue using TLS 1.0. (This workaround is not recommended because it reduces security.)

  1. Open the following file in a text editor (or the corresponding file if you are using custom Java):

    <DPA_Home>\iwc\jre\conf\security\java.security

  2. Find jdk.tls.disabledAlgorithms.

  3. Remove TLSv1, TLSv1.1. Then save the changes.

  4. Restart DPA.

The DPA Options page does not open
Issue

If the file containing the DPA SQL authentication password is misconfigured, the DPA Options page does not open. This file can become misconfigured when password protection for DPA features that allow custom SQL is configured, and a password containing '<' or '>' characters was not enclosed with CDATA when it was entered.

Resolution or Workaround
  1. Open the following file in a text editor:

    <DPA-install-dir>\iwc\tomcat\ignite_config\iwc\security\sqlauth.xml

  2. Look for invalid XML such as the following (shown in red):

    <entry key="sql.authentication.password">
       <![USER_PASSWORD]]<
    >/entry>

  3. Reenter the password enclosed in CDATA, and edit the XML so that it is valid. For example:

    <entry key="sql.authentication.password">
      <![CDATA[MyPasswordWith<SpecialCharacters>]]>
    </entry>

  4. Save the file.

    Changes take effect immediately. The password in the sqlauth.xml file is encrypted the first time DPA prompts a user to enter it.

Creating the repository user when creating a MySQL 8.0 repository database
Issue

For MySQL 8.0, the default authentication plug-in has changed from mysql_native_password to caching_sha2_password. If you attempt to create a MySQL 8.0 repository database and allow DPA to create the repository user, the process fails because DPA cannot authenticate a user created with the default option.

Resolution or Workaround
  1. Create the repository user manually and specify that the mysql_native_password plugin be used to authenticate that user. For example:

    CREATE USER 'userName'@'localhost' IDENTIFIED WITH mysql_native_password BY 'userPassword';

    You can verify user creation by querying the mysql.user table:

    select user,host,plugin from mysql.user;

  2. Grant the required privileges to the user. See the GRANT statements in the script available through the Repository Creation Wizard.
  3. On step 2 of the Repository Creation Wizard, select Provide the repository user. Then enter the user name and password of the user you created.
Creating the monitoring user when registering a MySQL 8.0 database instance
Issue

For MySQL 8.0, the default authentication plug-in has changed from mysql_native_password to caching_sha2_password. If you attempt to register a MySQL 8.0 instance and allow DPA to create the monitoring user, registration fails because DPA cannot authenticate a user created with the default option.

Resolution or Workaround
  1. Create the monitoring user manually and specify that the mysql_native_password plugin be used to authenticate that user. For example:

    CREATE USER 'userName'@'localhost' IDENTIFIED WITH mysql_native_password BY 'userPassword';

    You can verify user creation by querying the mysql.user table:

    select user,host,plugin from mysql.user;

  2. Grant the required privileges to the user. See the GRANT statements in the script available through the Register Instance Wizard.
  3. On step 2 of the Register Instance Wizard, select I'll create the database user. Then enter the user name and password of the user you created.
Validation of the LDAP/AD server host name fails because it doesn't match the subject of the certificate
Issue

Java validates that the host name of the LDAP server matches the LDAP certificate by checking the subjectAlternativeName's dNSName fields of the certificate. If the validation fails, you will see the following error when you are configuring DPA to use AD/LDAP:

The subject of the certificate doesn't match your AD/LDAP server.

Resolution or Workaround Follow the instructions in this article to resolve the issue.
Adding a distributed AG to a server prevents DPA from monitoring non-distributed AGs on the server
Issue

If DPA is monitoring non-distributed SQL Server Availability Groups (AGs) on a server and you add a distributed AG to the server, DPA stops monitoring the non-distributed AGs.

Resolution or Workaround Do not add a distributed AG to the server.
Microsoft reports incorrect metric values for SQL Server on Linux
Issue

When you monitor a SQL Server 2017 database instance that runs on a Linux server:

  • The O/S CPU Utilization resource always shows usage at 100%.
  • The Instance CPU Utilization resource always shows usage at 100%.
  • The O/S Memory Utilization resource always shows usage at 0%.

When you monitor a SQL Server 2019 database instance that runs on a Linux server:

  • The O/S CPU Utilization resource always shows usage at 100%.
  • In some cases, the Instance CPU Utilization resource always shows usage at 100%.

Microsoft reports these values.

Resolution or Workaround Disregard the values that are incorrect on your version of SQL Server. You can also disable the collection of a metric that shows incorrect data.
Monitoring a database instance in the Oracle Public Cloud
Issue When DPA is monitoring a database instance in the Oracle Public Cloud, it sometimes reports incorrect values.
Resolution or Workaround DPA does not support monitoring database instances deployed in the Oracle Public Cloud. Use DPA to monitor supported database instance types.
DPA fails to reconnect after losing its connection to a SQL Server instance
Issue

When DPA loses its connection to a monitored SQL Server instance (for example, when the DPA server is rebooted), and Windows authentication is used, DPA is sometimes unable to reconnect to the instance. This can happen if DPA attempts to connect before SQL Server has been able to connect to Active Directory. DPA interprets the rejected connection attempt as possibly occuring because the credentials were incorrect. To avoid being locked out of the account, DPA does not keep trying to reconnect. Messages such as the following appear in the logs:

Monitor for database [databaseName] failed to start due to [username and/or password must be updated due to previous login failure; if the credentials have not changed for this database, stop the monitor, wait for the monitor to stop, then start the monitor.].

Resolution or Workaround When the monitored instance is fully initialized, manually restart monitoring. On the DPA home page, click the Action drop-down menu for the instance and select Start Monitor.
Monitoring fails when a SQL Server AG is registered through the listener
Issue

When a SQL Server Availability Group (AG) is registered for monitoring through the listener, duplicate files collected through polling are not handled correctly in some situations, which can cause monitoring to fail. Errors such as the following can appear in the logs:

DEBUG (2021-04-03T17:16:50,214+0300) [repositoryManager-thread-23] {name=DBSERVER02 via AGLISTENER01} DatabaseMonitorJobListener:62 - Stopping monitor in SummaryPollJob

Resolution or Workaround If possible, register each instance separately instead of registering the listener. If that is not possible, then disable IO stats polling by setting the advanced option IO_STATS_POLL_ENABLED to False.
VM Host Disk metrics load slowly due to missing indexes on tables that store these metrics
Issue

Loading the Host Disk metrics on the Resources page may take a long time when the host has a large number of disks. On new DPA installations, indexes to avoid this issue are created in the DPA repository. But for DPA upgrades, these indexes must be created manually.

Resolution or Workaround
  1. From the DPA menu, click Options.
  2. Under Support > Utilities, click Review DPA Repo Schema.

    If your DPA is missing some indexes you are provided with a SQL script to manually create them.

  3. Follow the instructions on the page to create the missing indexes.
Repository growth due to missing indexes on tables storing the plans
Issue

DPA cleanup jobs might not run properly on tables storing the historical plans, causing the repository to grow. On new DPA installations, indexes to avoid this issue are created in the DPA repository. But for DPA upgrades, these indexes must be created manually.

Resolution or Workaround
  1. From the DPA menu, click Options.
  2. Under Support > Utilities, click Review DPA Repo Schema.

    If your DPA is missing some indexes you are provided with a SQL script to manually create them.

  3. Follow the instructions on the page to create the missing indexes.

End of life

Return to top

Version EoL Announcement EoE Effective Date EoL Effective Date
DPA 2019.4

August 26, 2021 End-of-Life (EoL) announcement - Customers on DPA version 2019.4 or earlier should begin transitioning to the latest version of DPA.

November 24, 2021 End-of-Engineering (EoE) - Service releases, bug fixes, workarounds, and service packs for DPA version 2019.4 or earlier will no longer actively be supported by SolarWinds. November 24, 2022 End-of-Life (EoL) - SolarWinds will no longer provide technical support for DPA version 2019.4 or earlier.
DPA 12.1

August 26, 2021 End-of-Life (EoL) announcement - Customers on DPA version 12.1 or earlier should begin transitioning to the latest version of DPA.

November 24, 2021 End-of-Engineering (EoE) - Service releases, bug fixes, workarounds, and service packs for DPA version 12.1 or earlier will no longer actively be supported by SolarWinds. November 24, 2022 End-of-Life (EoL) - SolarWinds will no longer provide technical support for DPA version 12.1 or earlier.

See the End of Life Policy for information about SolarWinds product lifecycle phases. For supported versions and EoL announcements for all SolarWinds products, see Currently supported software versions.


End of support

Return to top

This version of Database Performance Analyzer no longer supports the following platforms and features.

Type Details
Database-specific mass registration spreadsheets

The same mass registration template is now used for all database types. The Choose a Database Type drop-down menu has been removed from the Mass Registration Wizard in DPA 2022.1, and spreadsheets for a specific type of database (such as Oracle or SQL Server) are no longer available.


Deprecation notices

Return to top

This version of Database Performance Analyzer deprecates the following platforms and features.

Deprecated platforms and features are still supported in the current release. However, they will be unsupported in a future release. Plan on upgrading deprecated platforms, and avoid using deprecated features. 

Type Details
DPA server OS Support for installing DPA on a server with a Windows Server 2012 R2 operating system is still supported in 2022.1, but support will be removed in an upcoming release.

The scripts are not supported under any SolarWinds support program or service. The scripts are provided AS IS without warranty of any kind. SolarWinds further disclaims all warranties including, without limitation, any implied warranties of merchantability or of fitness for a particular purpose. The risk arising out of the use or performance of the scripts and documentation stays with you. In no event shall SolarWinds or anyone else involved in the creation, production, or delivery of the scripts be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the scripts or documentation.

Legal notices

Return to top

© 2022 SolarWinds Worldwide, LLC. All rights reserved.

This document may not be reproduced by any means nor modified, decompiled, disassembled, published or distributed, in whole or in part, or translated to any electronic medium or other means without the prior written consent of SolarWinds. All right, title, and interest in and to the software, services, and documentation are and shall remain the exclusive property of SolarWinds, its affiliates, and/or its respective licensors.

SOLARWINDS DISCLAIMS ALL WARRANTIES, CONDITIONS, OR OTHER TERMS, EXPRESS OR IMPLIED, STATUTORY OR OTHERWISE, ON THE DOCUMENTATION, INCLUDING WITHOUT LIMITATION NONINFRINGEMENT, ACCURACY, COMPLETENESS, OR USEFULNESS OF ANY INFORMATION CONTAINED HEREIN. IN NO EVENT SHALL SOLARWINDS, ITS SUPPLIERS, NOR ITS LICENSORS BE LIABLE FOR ANY DAMAGES, WHETHER ARISING IN TORT, CONTRACT OR ANY OTHER LEGAL THEORY, EVEN IF SOLARWINDS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

The SolarWinds, SolarWinds & Design, Orion, and THWACK trademarks are the exclusive property of SolarWinds Worldwide, LLC or its affiliates, are registered with the U.S. Patent and Trademark Office, and may be registered or pending registration in other countries. All other SolarWinds trademarks, service marks, and logos may be common law marks or are registered or pending registration. All other trademarks mentioned herein are used for identification purposes only and are trademarks of (and may be registered trademarks) of their respective companies.