Submit a ticketCall us

Training ClassSign up for Network Performance Monitor (NPM) and Scalability instructor-led classes

Attend our instructor-led classes, provided by SolarWinds® Academy, to discuss the more advanced monitoring mechanisms available in NPM as well as how to tune your equipment to optimize its polling capabilities. NPM classes offered:
NPM Custom Monitoring and Polling
Orion Platform Scalability

Reserve your seat.

Home > Success Center > Server & Application Monitor (SAM) > SAM - Knowledgebase Articles > Disabled components still trigger alerts for Other Statuses in older versions of SAM

Disabled components still trigger alerts for Other Statuses in older versions of SAM

Updated November 28, 2018


This article describes how component status alerts may still be triggered for components even though the component status is set as disabled on the application level in earlier versions of SAM.

Components Disabled the Application Level

image003 (1).png


The following figure shows that alerts are still being triggered even though the component status is disabled at the application level:




SAM 6.4 and earlier


The IsDisabled flag in APM_Component table is set to NULL
There is no record in APM_CurrentComponentStatus for disabled components so the Status field returns a default value 0 (Unknown) or Last polled value instead of Disabled (27).

The value from the APM_CurrentComponentStatus is used in alerting and reporting, resulting in false alerts.

This issue also occurred in the Advanced Alert Manager, which was deprecated in Orion Platform 2011.4. Alert functionality is now handled in the Alert Manager. For more information, see Alerting resources for Orion Platform products.


This issue was fixed in SAM 6.5, released in 2017. Upgrade to the latest version of SolarWinds SAM.

As a workaround, to fix without upgrading, use the following script in SQL Server Management Studio to mark all disabled components on the template level as Disabled at the application level.

SolarWinds recommends backing up your database before running this script. Follow instructions in Back up and restore your NPM database.


DECLARE @ComponentID int

DECLARE @ApplicationID int



SELECT c.ID, c.ApplicationID FROM APM_ComponentTemplate ct

INNER JOIN APM_Component c ON c.TemplateID = ct.ID

WHERE ct.IsDisabled = 1 AND ISNULL(c.IsDisabled, 0) = 0


OPEN db_cursor   

FETCH NEXT FROM db_cursor INTO @ComponentID, @ApplicationID





UPDATE APM_Component SET IsDisabled = 1 WHERE ID = @ComponentID


UPDATE APM_ComponentSetting SET Value = 'True' WHERE ComponentID = @ComponentID AND [Key] = '__Disabled'


INSERT INTO APM_ComponentSetting(ComponentID, [Key], [Value], [ValueType], [Required])

VALUES (@ComponentID, '__Disabled', 'True', 3, 0)

UPDATE APM_CurrentComponentStatus SET Availability = 7, [TimeStamp] = GETUTCDATE(), ComponentStatusID = 0, ErrorCode = 0 WHERE ComponentID = @ComponentID


INSERT INTO APM_CurrentComponentStatus (ComponentID, ApplicationID, Availability, [TimeStamp], ComponentStatusID, ErrorCode)

VALUES (@ComponentID, @ApplicationID, 7, GETUTCDATE(), 0, 0)


FETCH NEXT FROM db_cursor INTO @ComponentID, @ApplicationID  



CLOSE db_cursor   

DEALLOCATE db_cursor 




Last modified