cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Summary

When reconciling FNMS where partitioned VM's have been inventoried the reconcile fails with a Primary Key error.

Symptoms

The FNMS Reconcile is failing with a Primary Key violation, when attempting to reconcile partitioned VM's.
The following error is found in the log for the import task:

2018-02-09 02:01:36,217 [INFO ] Released application lock Reader_03127814-ccfa-4ddb-a84f-b4d4530db456_Computer_ALL
2018-02-09 02:01:36,217 [ERROR] System.Data.SqlClient.SqlException (0x80131904): Violation of PRIMARY KEY constraint 'PK__#Partiti__2EBD97F6761070AE'. Cannot insert duplicate key in object 'dbo.#PartitionHosts'. The duplicate key value is (164445).
The statement has been terminated.
Found 0 Computers in the source database created from partition inventory
Found 1341 Computers in the source database with hardware inventory history
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at ManageSoft.Compliance.Importer.Logic.XML.ExecuteOnSource.ProcessStep(IExecutionContext context)
at ManageSoft.Compliance.Importer.Logic.XML.Reader.Execute(IExecutionContext context)
at ManageSoft.Compliance.Importer.Logic.ActionExecuter.ReaderExecuter.ExecuteSingleReader(Reader reader, Int32 procedureOrder, Version sourceDatabaseVersion)
at ManageSoft.Compliance.Importer.Logic.ActionExecuter.ReaderExecuter.Execute()
at ManageSoft.Compliance.Importer.Logic.ComplianceImporter.ProcessExecution(ComplianceReader p_ComplianceReader, Tenant p_Tenant, IExecutionContext p_Context)
ClientConnectionId:05129553-1817-4aa3-81cd-613f6f083d07
Error Number:2627,State:1,Class:14

Cause

The cause of this issue is that key information is missing from a partition of one or multiple VM's attempting to be imported. The information typically missing from the partition is the instances serial number.
When this information is missing the instances data cannot be imported in the FNMS IM database.

Steps To Reproduce

1. Create a partition in a VM.
2. Remove or do not set the partition to have a serial number.
3. Inventory the VM with FNMS.
4. Reconcile FNMS, and it will fail with a Primary Key error.

Resolution

This is a known Bug that was tracked under FNMS-50268
The issue can be found in FNMS 2017 R2 and below, however the issue is fixed in FNMS 2017 R2 SP1 and above.
Additionally the FNMS 2017 R2 SP1 patch can be downloaded from the PLC 2.0, in the customer community.

Workaround

You must apply FNMS 2017 R2 SP1 or higher to resolve this issue.
Was this article helpful? Yes No
No ratings
Version history
Last update:
‎Jun 07, 2018 02:08 AM
Updated by: