September, 2007

  • Jakub@Work

    ObjectNotFoundException in Run As Profiles/Run As Accounts

    • 1 Comments

    Exception:

    Application: System Center Operations Manager 2007
    Application Version: 6.0.5000.0
    Severity: Error
    Message:
    Microsoft.EnterpriseManagement.Common.ObjectNotFoundException: Requested
    object(s) not found.
       at
    Microsoft.EnterpriseManagement.DataAbstractionLayer.SdkDataAbstractionLayer.HandleIndigoExceptions(Exception
    ex)
       at
    Microsoft.EnterpriseManagement.DataAbstractionLayer.InstanceSpaceOperations.GetMonitoringObjectByMonitoringObjectIds(List`1
    monitoringObjectIds, String languageCode, MonitoringObjectMode
    monitoringObjectMode)
       at
    Microsoft.EnterpriseManagement.ManagementGroup.GetPartialMonitoringObjects(ICollection`1
    ids)
       at
    Microsoft.EnterpriseManagement.Mom.Internal.UI.Administration.RunAsProfile.ProfileAccounts.<>c__DisplayClass1.<OnPageAdded>b__0(Object
    , ConsoleJobEventArgs )
       at
    Microsoft.EnterpriseManagement.Mom.Internal.UI.Console.ConsoleJobExceptionHandler.ExecuteJob(IComponent
    jobOwner, EventHandler`1 job, Object sender, ConsoleJobEventArgs args)

     

    If you encounter an ObjectNotFoundException in the UI when trying to browse run as profiles or accounts, the issue is an incorrect SQL query being used. It is fixed in SP1, but in the meantime, you can also fix the issue by running the following query against the SCOM database and then restarting the SDK service:

    declare @querydef xml
    set @querydef =
    N'<QueryDefinitions xmlns="urn:DataAccess" xmlns:dal="urn:DataAccess"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><QueryDefinition
    dal:fullyDescribed="true"><Name>SecureStorageSecureReferenceByCriteria</Name><ObjectName>SecureStorageSecureReference</ObjectName><UsedBy
    Component="Sdk" /><Description>Access to SecureStorageSecureReference
    table.</Description><DataObject
    xsi:type="SelectType"><Column><Name>SecureStorageReferenceId</Name><Source>SecureStorageSecureReference</Source><Type>uniqueidentifier</Type></Column><Column><Name>SecureStorageElementId</Name><Source>SecureStorageSecureReference</Source><Type>uniqueidentifier</Type></Column><Column><Name>SecureReferenceId</Name><Source>SecureStorageSecureReference</Source><Type>uniqueidentifier</Type></Column><Column><Name>HealthServiceId</Name><Source>SecureStorageSecureReference</Source><Type>uniqueidentifier</Type><IsNullable>true</IsNullable></Column><Column><Name>LastModified</Name><Source>SecureStorageSecureReference</Source><Type>datetime</Type></Column><Source><Table><Name>SecureStorageSecureReference</Name><Owner>dbo</Owner><Type>Table</Type></Table><Join><Type>Inner</Type><Table><Name>BaseManagedEntity</Name><Owner>dbo</Owner><Type>Table</Type></Table><JoinCondition>dbo.[BaseManagedEntity].[BaseManagedEntityId]
    = dbo.[SecureStorageSecureReference].[HealthServiceId] AND
    dbo.[BaseManagedEntity].[IsDeleted] =
    0</JoinCondition></Join></Source></DataObject></QueryDefinition></QueryDefinitions>'
    insert into dbo.DataAccessLayerSetting
    ([SettingType], [SettingData])
    values (0, @querydef)

Page 1 of 1 (1 items)