Network Management
Node polling stops after deleting Custom Properties in the SolarWinds Platform
This article describes the workaround for an issue that starts after deleting a node's custom property.
First published date
Last published date
Overview
Polling stops working and the following error is observed in collector logs:
ERROR SolarWinds.Collector.BusinessLayer.EntityWatcher - EntityCreator process failed Declarative.Orion.Cloud.Azure.AppServiceSystem.Data.SqlClient.SqlException (0x80131904): Invalid column name 'CurrentOS'.Invalid column name 'CurrentProxyStorage'.Could not use view or function 'dbo.NodeElements' because of binding errors.
In Audit Events, you will find an event where a custom property is deleted.
Product section
Resolution
Workaround 1:
- Recreate the Custom Property that was deleted. Refer to Create a custom property in the SolarWinds Platform
Workaround 2:
As a workaround, please run the query below to rebuild NodeElements without the NCM_Nodes dependency.
NOTE:
- Create a backup of your database before running this query
- Until we apply the code fix, each subsequent run of the Configuration Wizard will rebuild the NodeElements view with the NCM_Nodes dependency. So it needs to be rebuilt manually with the query below.
- Replace Solarwinds-Orion-DB with the correct DB name
-- Scripts are not supported under any SolarWinds support program or service. -- 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. USE [Solarwinds-Orion-DB] GO /****** Object: View [dbo].[NodeElements] Script Date: 4/22/2026 11:19:06 AM ******/ DROP VIEW [dbo].[NodeElements] GO /****** Object: View [dbo].[NodeElements] Script Date: 4/22/2026 11:19:06 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE VIEW [dbo].[NodeElements] AS SELECT 'Node' as [EntityType], NodeID as [EntityID], NodeID, EngineID, N.[CreatedTimestamp] FROM NodesData AS N WITH(NOLOCK) WHERE N.ObjectSubType != 'ICMP' UNION ALL SELECT 'VIM.Host', HostID, N.NodeID, N.EngineID, N.CreatedTimestamp FROM NodesData N WITH(NOLOCK) INNER JOIN VIM_Hosts WITH(NOLOCK) ON N.ObjectSubType = 'ICMP' AND VIM_Hosts.NodeID = N.NodeID UNION ALL SELECT 'SAM.Aplication', ID, N.NodeID, N.EngineID, N.CreatedTimestamp FROM NodesData N WITH(NOLOCK) INNER JOIN APM_Application WITH(NOLOCK) ON N.ObjectSubType = 'ICMP' AND APM_Application.NodeID = N.NodeID UNION ALL SELECT 'CiscoAci', Id, N.NodeID, N.EngineID, N.CreatedTimestamp FROM NodesData N WITH(NOLOCK) INNER JOIN Ctx_C_Orion_CiscoAci_ApicData_poll_1 WITH(NOLOCK) ON N.ObjectSubType = 'ICMP' AND Ctx_C_Orion_CiscoAci_ApicData_poll_1.[Node.ID] = N.NodeID UNION ALL SELECT 'NetMan.Firewall', Id, N.NodeID, N.EngineID, N.CreatedTimestamp FROM NodesData N WITH(NOLOCK) INNER JOIN Ctx_C_Orion_NetMan_Firewalls_FirewallData_poll_1 WITH(NOLOCK) ON N.ObjectSubType = 'ICMP' AND Ctx_C_Orion_NetMan_Firewalls_FirewallData_poll_1.[Node.ID] = N.NodeID UNION ALL SELECT 'SCM.Node', SCM_ActiveNodes.NodeID, N.NodeID, N.EngineID, N.CreatedTimestamp FROM NodesData N WITH(NOLOCK) INNER JOIN SCM_ActiveNodes WITH(NOLOCK) ON N.ObjectSubType = 'ICMP' AND SCM_ActiveNodes.[NodeID] = N.NodeID AND SCM_ActiveNodes.Enabled = 1 UNION ALL SELECT 'Orchestrators.Info', N.NodeID, N.NodeID, N.EngineID, N.CreatedTimestamp FROM NodesData N WITH(NOLOCK) INNER JOIN Orchestrators_Info WITH(NOLOCK) ON N.ObjectSubType = 'ICMP' AND Orchestrators_Info.[NodeID] = N.NodeID UNION ALL SELECT 'Orchestrators.Node', Orchestrators_Nodes.OrchestratorNodeID, N.NodeID, N.EngineID, N.CreatedTimestamp FROM NodesData N WITH(NOLOCK) INNER JOIN Orchestrators_Nodes WITH(NOLOCK) ON N.ObjectSubType = 'ICMP' AND Orchestrators_Nodes.[NodeID] = N.NodeID UNION ALL SELECT 'Interface', Interfaces.InterfaceID, N.NodeID, N.EngineID, N.CreatedTimestamp FROM NodesData N WITH(NOLOCK) INNER JOIN Interfaces WITH(NOLOCK) ON N.ObjectSubType = 'ICMP' AND Interfaces.[NodeID] = N.NodeID UNION ALL SELECT 'APIPoller', Id, N.NodeID, N.EngineID, N.CreatedTimestamp FROM NodesData N WITH(NOLOCK) INNER JOIN APIPoller_ApiPoller WITH(NOLOCK) ON N.ObjectSubType = 'ICMP' AND APIPoller_ApiPoller.[RelatedEntityId] = N.NodeID UNION ALL SELECT 'VIM.VCenter', VIM_VCenters.VCenterID, N.NodeID, N.EngineID, N.CreatedTimestamp FROM NodesData N WITH(NOLOCK) INNER JOIN VIM_VCenters WITH(NOLOCK) ON N.ObjectSubType = 'ICMP' AND VIM_VCenters.[NodeID] = N.NodeID UNION ALL SELECT 'NetFlow', N.NodeID, N.NodeID, NetFlowNodeSources.EngineID, N.CreatedTimestamp FROM NodesData N WITH (NOLOCK) INNER JOIN NetFlowNodeSources WITH (NOLOCK) ON N.ObjectSubType = 'ICMP' AND NetFlowNodeSources.NodeID = N.NodeID WHERE Enabled = 1 AND LastTime IS NOT NULL UNION ALL SELECT 'AzureSqlDatabase', ID, NULL, NULL, [FirstSeenUtc] FROM Cloud_Azure_SqlDatabaseData_man_1 WITH(NOLOCK) UNION ALL SELECT 'AzureStorageAccount', ID, NULL, NULL, [FirstSeenUtc] FROM Cloud_Azure_StorageAccountData_man_1 WITH(NOLOCK) UNION ALL SELECT 'AwsDirectConnect', ID, NULL, NULL, [FirstSeenUtc] FROM Cloud_Aws_DirectConnectData_man_1 WITH(NOLOCK) UNION ALL SELECT 'AzureExpressRouteCircuit', ID, NULL, NULL, [FirstSeenUtc] FROM Cloud_Azure_ExpressRouteCircuitData_man_1 WITH(NOLOCK) UNION ALL SELECT 'AwsSqlDatabase', ID, NULL, NULL, [FirstSeenUtc] FROM Cloud_Aws_SqlDatabaseData_man_1 WITH(NOLOCK) UNION ALL SELECT 'AzureApplicationGateway', ID, NULL, NULL, [FirstSeenUtc] FROM Cloud_Azure_ApplicationGatewayData_man_1 WITH(NOLOCK) UNION ALL SELECT 'AzureLoadBalancer', ID, NULL, NULL, [FirstSeenUtc] FROM Cloud_Azure_LoadBalancerData_man_1 WITH(NOLOCK) UNION ALL SELECT 'AwsElasticLoadBalancer', ID, NULL, NULL, [FirstSeenUtc] FROM Cloud_Aws_ElasticLoadBalancerData_man_1 WITH(NOLOCK) UNION ALL SELECT 'AzureAppService', ID, NULL, NULL, [FirstSeenUtc] FROM Cloud_Azure_AppServiceData_man_1 WITH(NOLOCK) UNION ALL SELECT 'AwsBucketStorage', ID, NULL, NULL, [FirstSeenUtc] FROM Cloud_Aws_BucketStorageData_man_1 WITH(NOLOCK) GO