Network Management
Database Maintenance fails due to ANSI_WARNINGS setting in dbm_AggregateTimeSerie_part in Solarwinds Self-Hosted Platform
This article discusses an issue where database maintenance can fail during the Finalize Maintenance phase because the stored procedure dbm_AggregateTimeSerie_part sets ANSI_WARNINGS OFF, which SQL Server rejects for operations involving indexed views/constraints. This causes repeated failures for multiple summary tables and incomplete historical data.
First published date
Last published date
Overview
When running Database Maintenance, the Finalize Maintenance phase may fail for multiple time-series summary tables. The Database Maintenance log shows an error about incorrect SET options and ANSI_WARNINGS, and the job reports repeated failures for several operations.
From swdebugmaintenance.log
Detected that operation [Finalize Maintenance]-[CPULoad] failed 3 times in a row.
Detected that operation [Finalize Maintenance]-[CPUMultiLoad] failed 3 times in a row.
Detected that operation [Finalize Maintenance]-[InterfaceAvailability] failed 3 times in a row.
[Failure] 0.44s Finalize Maintenance - CPULoad
Message:
--------------------------------------------
dbm_ExecuteMaintenance: dbm_AggregateData_part: dbm_AggregateTimeSerie_part:
XACT_STATE=-1
SELECT failed because the following SET options have incorrect settings: 'ANSI_WARNINGS'.
Verify that SET options are correct for use with indexed views and/or indexes
on computed columns and/or filtered indexes and/or query notifications and/or
XML data type methods and/or spatial index operations.,
ALTER TABLE CPULoad_CS_Hourly_stg WITH CHECK ADD CONSTRAINT CHK_CPULoad_CS_Hourly_stg
CHECK ([Timestamp] >= '20260310' AND [Timestamp] < '20260311')
...Product section
Cause
In affected versions, the stored procedure dbm_AggregateTimeSerie_part explicitly sets:
SET ANSI_WARNINGS OFF
During Database Maintenance, this procedure is used when finalizing data into staging and summary tables that may involve:
-
Indexed views
-
Constraints
-
Computed columns or filtered indexes
which require specific SET options (including ANSI_WARNINGS ON) to be enabled at execution time.
If the session executing the procedure does not meet these SET option requirements, SQL Server rejects the query and raises the error:
SELECT failed because the following SET options have incorrect settings: 'ANSI_WARNINGS'.
As a result, the Finalize Maintenance step fails for multiple objects, and the job reports repeated failures.
Resolution
Resolution:
| This issue is addressed in SolarWinds Self-Hosted Platform 2026.1 and later. Consider upgrading your environment. If you can't upgrade, use the workaround below. |
Workaround:
Important: This workaround involves editing a stored procedure in the SolarWinds Platform database.
Ensure you have a full backup of the SolarWinds Platform database.
-
In SSMS, expand:
-
Databases → (your SolarWinds Platform DB) → Programmability → Stored Procedures
-
-
Locate the stored procedure:
-
dbm_AggregateTimeSerie_part
-
-
Right-click it and choose:
-
Script Stored Procedure as → ALTER To → New Query Editor Window
-
-
Remove the ANSI_WARNINGS setting
-
In the script that opens, locate the line:
SET ANSI_WARNINGS OFF - Remove line and press F5 or Execute button to change the source code.
-
- Run Database maintenance manually or wait until its standard scheduled time.