Getting "Failed to insert row into table ( INSERT INTO dbo.[Evt_Resource_Merge]" table after an User AD Import happens.
search cancel

Getting "Failed to insert row into table ( INSERT INTO dbo.[Evt_Resource_Merge]" table after an User AD Import happens.

book

Article ID: 152260

calendar_today

Updated On:

Products

IT Management Suite

Issue/Introduction

Customer created a test OU in his domain and then created a test security group as well as a test user.  The test user is a member of the test security group.

The customer configured one of his User AD Import rules to import that test security group.

After the import ran, the User organisational group was populated by the test user. The "All Users" filter was also populated and resource manager displays the data for this test user.  However, the AD security group filter doesn't contain this test user. 

Looking on the User AD Import process, the following error message was noticed right after the AD Import finished:

Priority: 2
Date: 4/27/2010 10:27:07 AM
Tick Count: 97779734
Host Name: <NSSERVER>
Process: AeXSvc (6164)
Thread ID: 65
Module: AeXSVC.exe
Source: Altiris.NS.ResourceManagement.Database.DataLoaderSqlClientInserter.CommitBatch
Description: Failed to insert row into table ( INSERT INTO dbo.[Evt_Resource_Merge] ([_ResourceGuid],[Resource1Guid],[MergeDate],[Resource2Guid],[_eventTime]) VALUES (N'Test User (c4df258b-2bde-4456-9269-f843a637e163)',N'00000000-0000-0000-0000-000000000000',N'1/1/0001 12:00:00 AM',N'00000000-0000-0000-0000-000000000000',N'2010-04-27 10:27:07.123') )

( Exception Details: System.Data.SqlClient.SqlException: Arithmetic overflow error converting expression to data type datetime.
The statement has been terminated.
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
   at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
   at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   at Altiris.NS.ResourceManagement.Database.DataLoaderSqlClientInserter.CommitBatch() )
( Exception logged from:
   at Altiris.Diagnostics.Logging.EventLog.ReportException(Int32 severity, String strMessage, String category, Exception exception)
   at Altiris.NS.ResourceManagement.Database.DataLoaderSqlClientInserter.CommitBatch()
   at Altiris.NS.ResourceManagement.Database.SqlClientInserter.CommitAll()
   at Altiris.NS.ResourceManagement.Database.SqlClientInserter.CommitBatch()
   at Altiris.NS.ResourceManagement.DataClassRowCollection.InternalTableInserterImpl(IDataLoaderConnection connection, Hashtable resourceDLInfoHT, TargetTable targetTable, String strInserterTable, DataClass dataClass, DataClassRows dataClassRows)
   at Altiris.NS.ResourceManagement.DataClassRowCollection.InternalTableInserter(IDataLoaderConnection connection, Hashtable resourceDLInfoHT, TargetTable targetTable, String strInserterTable, DataClass dataClass, DataClassRows dataClassRows)
   at Altiris.NS.ResourceManagement.DataClassRowCollection.UpdateDataClass_Impl(DataClass dataClass, DataClassRows rows, Hashtable resourceDLInfoHT, Boolean HistoryEnabled, Hashtable resourceGuidToResourceTypeGuid, IDataLoaderConnection connection)
   at Altiris.NS.ResourceManagement.DataClassRowCollection.<>c__DisplayClassa.<UpdateDataClass>b__6(IDatabaseContext context)
   at Altiris.Database.DatabaseContext`1.PerformWithDeadlockRetryHelper(Int32 retries, Boolean inTransaction, Getter`1 getContext, Action`1 action, Action`1 retry)
   at Altiris.Database.DatabaseContext`1.PerformWithDeadlockRetry(Int32 retries, Boolean startNewTransaction, IsolationLevel isolationLevel, Boolean independentContext, Action`1 action, Action`1 retry)
   at Altiris.Database.DatabaseContext`1.PerformWithDeadlockRetry(Int32 retries, Boolean startNewTransaction, Action`1 action, Action`1 retry)
   at Altiris.NS.ResourceManagement.DataClassRowCollection.UpdateDataClass(DataClass dataClass, DataClassRows rows, Hashtable resourceDLInfoHT, Boolean HistoryEnabled, Hashtable resourceGuidToResourceTypeGuid, IDataLoaderConnection connection)
   at Altiris.NS.ResourceManagement.DataClassRowCollection.CommitData_Impl(IDataLoaderConnection connection)
   at Altiris.NS.ResourceManagement.DataClassRowCollection.DefaultCommit(Object sender, ICommitEventArgs commitArgs)
   at Altiris.NS.ResourceManagement.DataClassRowCollection.OnCommitHandler(DCCommitEventArgs commitArgs)
   at Altiris.NS.ResourceManagement.DataClassRowCollection.<>c__DisplayClass4.<CommitData>b__0(IDatabaseContext context)
   at Altiris.Database.DatabaseContext`1.PerformWithDeadlockRetryHelper(Int32 retries, Boolean inTransaction, Getter`1 getContext, Action`1 action, Action`1 retry)
   at Altiris.Database.DatabaseContext`1.PerformWithDeadlockRetry(Int32 retries, Boolean startNewTransaction, IsolationLevel isolationLevel, Boolean independentContext, Action`1 action, Action`1 retry)
   at Altiris.Database.DatabaseContext`1.PerformWithDeadlockRetry(Int32 retries, Boolean startNewTransaction, Action`1 action, Action`1 retry)
   at Altiris.NS.ResourceManagement.DataClassRowCollection.CommitData(IDataLoaderConnection connection)
   at Altiris.NS.ResourceManagement.DataClassImporter.CommitData(DataClassRowCollection rows)
   at Altiris.NS.ResourceManagement.DataClassImporter.ProcessData(DataClass dataClass, XmlReader reader, Guid resourceGuidOverride, ProcessingDirective processingDirective)
   at Altiris.NS.ResourceManagement.DataClassImporter.LoadInventory_Impl(XmlReader reader, Boolean bProcessData, Boolean bForceSchemaValidation, Guid resourceGuidOverride)
   at Altiris.NS.ResourceManagement.DataClassImporter.LoadInventory(XmlReader reader, Boolean bProcessData, Boolean bForceSchemaValidation)
   at Altiris.NS.ResourceManagement.DataClassImporter.LoadInventory(XmlReader reader)
   at Altiris.NS.StandardItems.Messaging.InventoryCaptureItem.OnMessage_Impl(String message, Boolean useFilename)
   at Altiris.NS.StandardItems.Messaging.InventoryCaptureItem.OnMessageInternal(String message, Boolean useFilename)
   at Altiris.NS.StandardItems.Messaging.InventoryCaptureItem.OnFHMessage(String path)
   at Altiris.NS.LegacyInterop.ItemMessageDispatcherService.Dispatch(String message, Boolean useFilename)
   at Altiris.NS.LegacyInterop.ItemMessageDispatcherService.DispatchFile(String path)
   at Altiris.NS.ClientMessaging.FileDispatcher.ProcessFileCallback(Object state)
   at Altiris.Common.Threading.LocalThreadPool.ExecuteUserWorkItem(UserWorkItem workItem)
   at Altiris.NS.Threading.NSThreadPool.ExecuteUserWorkItem(UserWorkItem workItem)
   at Altiris.Common.Threading.LocalThreadPool.ExecuteUserWorkItemInContext(UserWorkItem workItem)
   at Altiris.Common.Threading.LocalThreadPool.ThreadPoolProc(Object threadStartParameter)
   at System.Threading.ThreadHelper.ThreadStart(Object obj)
 )
( Extra Details:  Type=System.Data.SqlClient.SqlException Src=.Net SqlClient Data Provider )

 

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Priority: 1
Date: 4/27/2010 10:27:07 AM
Tick Count: 97779734
Host Name: <NSSERVER>
Process: AeXSvc (6164)
Thread ID: 65
Module: AeXSVC.exe
Source: Altiris.NS.ResourceManagement.DataClassRowCollection.CommitData
Description: Unspecified Dataloader Exception encountered for inventory data class Inventory Rule Prerequisite (71ac831d-3a9b-4f67-9877-05695d802809)!

( Exception Details: System.FormatException: Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
   at System.Guid..ctor(String g)
   at Altiris.NS.ResourceManagement.DataClass.GetNormalizedColumnValueForHashing(DataClassAttribute dca, String columnValue)
   at Altiris.NS.ResourceManagement.DataClass.GetHashStrings(DataClassRows rows)
   at Altiris.NS.ResourceManagement.DataClassRowCollection.CommitData_Impl(IDataLoaderConnection connection)
   at Altiris.NS.ResourceManagement.DataClassRowCollection.DefaultCommit(Object sender, ICommitEventArgs commitArgs)
   at Altiris.NS.ResourceManagement.DataClassRowCollection.OnCommitHandler(DCCommitEventArgs commitArgs)
   at Altiris.NS.ResourceManagement.DataClassRowCollection.<>c__DisplayClass4.<CommitData>b__0(IDatabaseContext context)
   at Altiris.Database.DatabaseContext`1.PerformWithDeadlockRetryHelper(Int32 retries, Boolean inTransaction, Getter`1 getContext, Action`1 action, Action`1 retry)
   at Altiris.Database.DatabaseContext`1.PerformWithDeadlockRetry(Int32 retries, Boolean startNewTransaction, IsolationLevel isolationLevel, Boolean independentContext, Action`1 action, Action`1 retry)
   at Altiris.Database.DatabaseContext`1.PerformWithDeadlockRetry(Int32 retries, Boolean startNewTransaction, Action`1 action, Action`1 retry)
   at Altiris.NS.ResourceManagement.DataClassRowCollection.CommitData(IDataLoaderConnection connection) )
( Exception logged from:
   at Altiris.Diagnostics.Logging.EventLog.ReportException(Int32 severity, String strMessage, String category, Exception exception)
   at Altiris.Diagnostics.Logging.EventLog.ReportException(String strMessage, String category, Exception exception)
   at Altiris.NS.Logging.EventLog.ReportException(String strMessage, Exception exception)
   at Altiris.NS.ResourceManagement.DataClassRowCollection.CommitData(IDataLoaderConnection connection)
   at Altiris.NS.ResourceManagement.DataClassImporter.CommitData(DataClassRowCollection rows)
   at Altiris.NS.ResourceManagement.DataClassImporter.ProcessData(DataClass dataClass, XmlReader reader, Guid resourceGuidOverride, ProcessingDirective processingDirective)
   at Altiris.NS.ResourceManagement.DataClassImporter.LoadInventory_Impl(XmlReader reader, Boolean bProcessData, Boolean bForceSchemaValidation, Guid resourceGuidOverride)
   at Altiris.NS.ResourceManagement.DataClassImporter.LoadInventory(XmlReader reader, Boolean bProcessData, Boolean bForceSchemaValidation)
   at Altiris.NS.ResourceManagement.DataClassImporter.LoadInventory(XmlReader reader)
   at Altiris.NS.StandardItems.Messaging.InventoryCaptureItem.OnMessage_Impl(String message, Boolean useFilename)
   at Altiris.NS.StandardItems.Messaging.InventoryCaptureItem.OnMessageInternal(String message, Boolean useFilename)
   at Altiris.NS.StandardItems.Messaging.InventoryCaptureItem.OnFHMessage(String path)
   at Altiris.NS.LegacyInterop.ItemMessageDispatcherService.Dispatch(String message, Boolean useFilename)
   at Altiris.NS.LegacyInterop.ItemMessageDispatcherService.DispatchFile(String path)
   at Altiris.NS.ClientMessaging.FileDispatcher.ProcessFileCallback(Object state)
   at Altiris.Common.Threading.LocalThreadPool.ExecuteUserWorkItem(UserWorkItem workItem)
   at Altiris.NS.Threading.NSThreadPool.ExecuteUserWorkItem(UserWorkItem workItem)
   at Altiris.Common.Threading.LocalThreadPool.ExecuteUserWorkItemInContext(UserWorkItem workItem)
   at Altiris.Common.Threading.LocalThreadPool.ThreadPoolProc(Object threadStartParameter)
   at System.Threading.ThreadHelper.ThreadStart(Object obj)
 )
( Extra Details:  Type=System.FormatException Src=mscorlib )

 

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Severity: 1
Date: 1/6/2012 5:20:33 AM
Tick Count: -1968401765
Host Name: <NSSERVER>
Process: AeXSvc (9688)
Thread: 79
Module: AeXSVC.exe
Source: Altiris.NS.ResourceManagement.Database.BatchSqlClientInserter.CommitBatch
Description: CommitBatch: Couldn't update table dbo.[Evt_Resource_Merge].
**CEDUrlStart** :http://entced.symantec.com/entt?product=SMP?version=Unknown?language=en?module=i6RlT5KD4rLKHg+eRJT1v3VyYQYOuYFhnmVjmA5/PBsNLs5iRTWKpVzBhjsel2kH?error=919441469?build=**CEDUrlEnd**

Environment

ITMS 7.x, 8.x

Cause

Working as designed. There is no mapping for these items ("Inventory Rule Prerequisite" and "Resource Merge"). This is by design.

Resolution

We captured the NSE from a different server where that issue is not present. Then we found the NSE that actually failed under the EvtQSlow/Bad folder.
We compared both NSEs and we found that the bad one has extra dataclasses on it:

</dataClass><dataClass guid="{212064A9-24B0-4B3E-8210-CA30CFD9B10E}" ignoreMissingResources="true">
  <data><resource partialUpdate="false" resourceRef="{48B27C9C-0385-4C28-AB48-456E9CAFC857}">
  <row c2="" c4="" c7="" />
</resource></data>
</dataClass><dataClass guid="{71AC831D-3A9B-4F67-9877-05695D802809}" ignoreMissingResources="true">
  <data><resource partialUpdate="false" resourceRef="{48B27C9C-0385-4C28-AB48-456E9CAFC857}">
  <row c1="" c2="" />
</resource></data>

GUID 71AC831D-3A9B-4F67-9877-05695D802809 belongs to Inventory Rule Prerequisite.
GUID 212064A9-24B0-4B3E-8210-CA30CFD9B10E belongs to Resource Merge.

To resolve this error and get those Users imported try the following:

1. Go to the User AD Import Rule that you are using for importing those users.
2. Open the Default Column Mapping in that User AD Import Rule and uncheck the Inventory Rule Prerequisite and Resource Merge column mappings. Click OK.
3. Run the User AD Import Rule and verify that the desired users are now appearing under the AD security group filter.