discovery server issues - data not populating - Invalid object name 'NAS_CS_STATE_MONITOR'.
search cancel

discovery server issues - data not populating - Invalid object name 'NAS_CS_STATE_MONITOR'.

book

Article ID: 418503

calendar_today

Updated On:

Products

DX Unified Infrastructure Management (Nimsoft / UIM)

Issue/Introduction

After an upgrade of UIM, we noticed several symptoms related to discovery server:

  1. discovery_server queue is empty
  2. (new) devices are not appearing in OC inventory
  3. (new) devices are not being inserted to the database
  4. see discovery_server complaining about 'NAS_CS_STATE_MONITOR' in the logs:

[probeDiscovery-1] ERROR com.nimsoft.discovery.common.util.ExceptionUtil - Error importing device: org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar []; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name 'NAS_CS_STATE_MONITOR'.

Environment

Release: any version of UIM
Component: UIMNAS/Discovery server

Cause

This was found to be related to corrupted data being stored in the NAS tables that causes issue during the upgrade process.

Resolution


This scenario can be corrected by running a simple query on the database to recreate the table and trigger.

  1. Deactivate the discovery_server probe
  2. Execute the following query using MS SQL Management Studio:

CREATE TABLE NAS_CS_STATE_MONITOR ( change_ts datetime ) 
INSERT INTO NAS_CS_STATE_MONITOR VALUES (getdate()) 
GO 
CREATE TRIGGER tr_NAS_CS_STATE_MONITOR 
ON CM_COMPUTER_SYSTEM 
FOR INSERT,UPDATE 
AS 
IF update(state) 
BEGIN 
update NAS_CS_STATE_MONITOR set change_ts=getdate() 
END 
GO 

 

Activate the discovery_server probe

Additional Information

You should then begin to see data flowing in the discovery_server queue.
It may take some time for the data to get to the database and then populate Operator Console.