The customer observed the following error messages in the SMP logs:
Load data failed for resource: a258c47a-61b2-4ed1-80fb-e5c7f73d5506, DataClassTable: Evt_SUA_Execution
Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.
[System.Data.ConstraintException @ System.Data]
at System.Data.DataTable.EnableConstraints()
at System.Data.DataTable.EndLoadData()
at System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue)
at System.Data.Common.DataAdapter.Fill(DataTable[] dataTables, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
at Altiris.Resource.ResourceDataTable.LoadData(Boolean onlySchema)
Exception logged from:
at Altiris.Resource.ResourceDataTable.LoadData(Boolean)
at Altiris.Resource.ResourceDataTable.Load(System.Guid, Boolean)
at Altiris.PatchManagementCore.DataClasses.SUAExecution.GetResourceTable(System.Guid)
at Altiris.Resource.ResourceDataTableCollection.GetDataTable(Altiris.Resource.ResourceDataClass, Boolean)
at Altiris.Resource.ResourceData.ExportExternalDataClasses(Altiris.Common.GuidCollection, System.Xml.XmlTextWriter)
at Altiris.Resource.ResourceItem.OnExport(System.Xml.XmlTextWriter)
at Altiris.NS.ItemManagement.Item.Export()
at Altiris.NS.ChangeTrack.SmpChangeTracker.Execute(Altiris.NS.ChangeTrack.SmpChangeTracker+SmpChangeEvent, Altiris.NS.ChangeTrack.ESmpChangeEvidence, System.Xml.XmlWriter)
at Altiris.NS.ChangeTrack.SmpChangeTracker.Execute(Altiris.NS.ChangeTrack.SmpChangeTracker+SmpChangeEvent, System.Xml.XmlWriter)
at Altiris.Profiling.Support.XmlFormatOps.ToXml(System.Action<System.Xml.XmlTextWriter>, String, Boolean)
at Altiris.NS.ChangeTrack.SmpChangeTracker.Execute(Altiris.NS.ChangeTrack.SmpChangeTracker+SmpChangeEvent)
at Altiris.NS.ChangeTrack.SmpChangeTracker+SmpChangeRunner.PerformWork(Altiris.NS.ChangeTrack.SmpChangeTracker+SmpChangeEvent)
at Altiris.Diagnostics.Threading.DiagnosticsQueueThreadRunner<T>.PerformWork()
at Altiris.Diagnostics.Threading.DiagnosticsThreadRunner.PerformWakeup()
at Altiris.Diagnostics.Threading.DiagnosticsThreadRunner.PerformLoop(System.Threading.Thread, Int32, System.Threading.WaitHandle[], Int32)
at Altiris.Diagnostics.Threading.DiagnosticsThreadRunner.RunnerThreadProc()
at System.Threading.ThreadHelper.ThreadStart()
Release: 8.6
It is not clear how this particular issue happened. It could have happened during the upgrade from a rollup.
In this particular case, the error message just seemed to be a false positive error. When running the Altiris profiler to capture the error when it appears in the SMP logs, revealed no actual error occurring. Taking things a step further, capturing a SQL profiler trace, when the error appears in the logs also showed no error happening. When capturing the incoming NSE that is causing the error, it's possible to use another SMP to process the NSE and get no error.
Finally, we verified that data is being populated in the Evt_SUA_Execution table for the resource GUID shown in the error. Therefore it's most likely a situation where this error can be safely ignored.