Network Management
Duplicate node entries with same hostname after SolarWinds Agent installation
On rare occasions, a Windows node that is monitored via the SolarWinds Agent can appear twice in the SolarWinds Platform Web Console with the same hostname, IP address, and NodeID. Both entries report a Down status and no polling or scans occur. This behavior is caused by duplicate agent registrations in the SolarWinds database that both reference the same node record.
First published date
Last published date
Overview
This issue has been observed when installing or reinstalling the SolarWinds Agent on Windows servers, especially in environments where servers are cloned from templates or the agent has been reinstalled multiple times.
Symptoms
You may be affected by this issue if the following are true:
-
The same Windows server appears twice in the Web Console under Nodes, with the same hostname and polling IP address.
-
Both entries share the same NodeID when viewed in the database or in API output.
-
Both nodes show a Down status and do not perform polling, application scans, or jobs.
-
Reinstalling or repairing the SolarWinds Agent on the server does not resolve the issue.
Product section
Cause
In the SolarWinds database, each agent registration is stored in the AgentManagement_Agents table and is associated with a specific NodeId. In this scenario, there are two separate agent registration rows that both reference the same node record. This can occur when:
-
The Windows server was built from a template and the agent was installed before the hostname was finalized (for example, before Sysprep completed), or
-
The agent was repeatedly installed and uninstalled, leaving behind a stale registration that was not fully cleaned up.
Because multiple agent registrations point to the same NodeId, the platform cannot reliably assign polling jobs to a single valid registration. As a result, the node remains Down and no polling takes place, even after reinstalling the agent.
Resolution
This issue is resolved by identifying and removing the invalid, duplicate agent registration record so that only a single, valid agent registration remains for the affected node.
Important: The following steps require direct edits to the SolarWinds database. Only apply them if you are comfortable working with SQL and you have a current backup. If you are unsure, contact SolarWinds Support for assistance.
1. Back up the SolarWinds database
Before making any changes:
-
Take a full backup of the SolarWinds database, or
-
Create a VM or storage snapshot of the SolarWinds database server.
Confirm that the backup completes successfully before proceeding.
2. Identify the affected node and NodeID
If you already know the NodeID for the affected server, you can skip this step. Otherwise, run the following query against the SolarWinds database (for example, in SQL Server Management Studio), replacing YourServerName with the hostname as it appears in the Web Console:
-- 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.
SELECT NodeID, Caption, IP_Address, MachineType
FROM Nodes
WHERE Caption = 'YourServerName';
Record the NodeID value for the affected node.
3. Check agent registrations for the NodeID
Next, query the agent registration table for that NodeID:
-- 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.
SELECT AgentId,
Hostname,
NodeId,
PollingEngineId,
ConnectionStatus,
ConnectionStatusMessage
FROM AgentManagement_Agents
WHERE NodeId = <NodeID>;
Replace <NodeID> with the numeric NodeID you collected in the previous step.
If this issue is present, you will see multiple rows returned for the same NodeId. At least one of these rows will be a stale or invalid registration.
4. Identify the stale or invalid registration
Use the query output to determine which registration is valid and which is stale. Typical indicators of a stale registration include:
-
Hostname value that does not match the current, correct server name (for example, a temporary or template hostname).
-
ConnectionStatus and ConnectionStatusMessage indicating that the agent has not checked in for an extended period of time.
-
AgentId value that does not correspond to any active agent shown under Agent Management in the Web Console.
Make a note of the AgentId of the stale registration you plan to remove.
5. Stop SolarWinds services (recommended)
To avoid locking or transient errors while updating the database, it is recommended to stop SolarWinds services on the main polling engine (and any additional polling engines that manage this node):
-
On the SolarWinds polling engine server, open the SolarWinds Service Manager.
-
Click Stop to stop all SolarWinds services.
Wait until all services show as Stopped before proceeding.
6. Remove the stale agent registration
When you have identified the stale registration and stopped services, run a delete statement against the AgentManagement_Agents table using the stale AgentId:
-- 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.
DELETE FROM AgentManagement_Agents
WHERE AgentId = '<StaleAgentId>';
Replace <StaleAgentId> with the exact AgentId value of the invalid registration you identified. Do not delete the row associated with the active, valid agent.
After the delete completes, you can re-run the query from step 3 to confirm that only a single row remains for the affected NodeId.
7. Start SolarWinds services
Restart SolarWinds services on the polling engine:
-
In SolarWinds Service Manager, click Start to bring all services back online.
-
Wait until all services show as Running.
8. Validate agent connectivity and polling
Back in the SolarWinds Platform Web Console:
-
Navigate to the Nodes view and locate the affected node.
-
Confirm that only a single entry exists for the hostname and IP address.
-
Verify that the node status transitions from Down to Up after the next polling cycle.
-
Check that applications, component monitors, and other jobs associated with the node resume normal polling.
You can also review the Agent Management view to ensure that the agent for this server is listed once and shows a healthy connection status.