How to delete an "orphaned" metaverse object in SQL RRS feed

  • Question

  • We had three "export-phantom" errors occurring on the FIMMA Export run operation.

    The errors indicated missing attributes in the metaverse objects.  Unfortunately, we could not re-present the three objects in the Oracle Database MA to attempts a Join.  So we had to look at the tables in the FIMSynchronization Database.

    First, we took a snapshot of the FIM 2010 R2 server, a VMware virtual machine.

    This is the SQL we used, after some investigation:

    -- Find incomplete metaverse object and copy it's object_id for next step
    SELECT accountName, email, mailcontacttype, mailNickname, CN, object_id   FROM [FIMSynchronizationService].[dbo].[mms_metaverse] where object_type = 'contact' and accountName = 'SGBS123UFA';
    -- Returns this record:
    -- accountName email mailcontacttype mailNickname CN object_id
    -- SGBSEDPSUFA SGBS1123SUFA@sefkekskail.ok.or NULL NULL NULL 5DBA9A28-FD7F-E611-9C88-005056913B1F

    -- 1.  Delete object from mms_metaverse table
    DELETE FROM [FIMSynchronizationService].[dbo].[mms_metaverse] where object_id = '5DBA9A28-FD7F-E611-9C88-005056913B1F';

    -- 2.  Delete record from mms_metaverse_lineageguid
    DELETE FROM [FIMSynchronizationService].[dbo].[mms_metaverse_lineageguid] where object_id like '5DBA9A28-FD7F-E611-9C88-005056913B1F';

    -- 3.  Delete record from mms_metaverse_lineagedate
    DELETE FROM [FIMSynchronizationService].[dbo].[mms_metaverse_lineagedate] where object_id = '5DBA9A28-FD7F-E611-9C88-005056913B1F';
    -- Find record in mms_csmv_link using
    SELECT mv_object_id, cs_object_id FROM [FIMSynchronizationService].[dbo].[mms_csmv_link] where mv_object_id = '5DBA9A28-FD7F-E611-9C88-005056913B1F';
    -- Returns this record: 
    -- mv_object_id cs_object_id
    -- 5DBA9A28-FD7F-E611-9C88-005056913B1F 01113ADC-6B80-E611-9C88-005056913B1F
    -- 4.  Delete record from mms_csmv_link
    DELETE FROM [FIMSynchronizationService].[dbo].[mms_csmv_link] where mv_object_id = '5DBA9A28-FD7F-E611-9C88-005056913B1F';

    -- 5.  Delete record from mms_connectorspace
    DELETE FROM [FIMSynchronizationService].[dbo].[mms_connectorspace] where object_id = '01113ADC-6B80-E611-9C88-005056913B1F';

    We deleted records from five tables to effectively delete the incomplete metaverse objects.

    The sequence of run operations were run and the "export-phantom" errors did not occur.

    Has anybody else attempted working directly with SQL to delete a metaverse object?  Any comments on the five tables?


    • Edited by GBSII Tuesday, September 27, 2016 9:41 AM
    Tuesday, September 27, 2016 9:41 AM

All replies

  • First of all the Microsoft doesn't support making changes directly to the tables unless you do it under their direction. They have tools to help you out.

    In any event you did miss a table the Metaverse multi value table. mms_metaverse_multivalue

    David Lundell, Get your copy of FIM Best Practices Volume 1

    • Proposed as answer by Todd Heron Wednesday, September 28, 2016 3:18 AM
    Tuesday, September 27, 2016 8:08 PM
  • Hi

    I while a ago I run into a problem with orphaned objects in MIMSync. I created a new simple MA (text-based), and imported only one entry. Then I joined this entry manually to the MVObject causing the trouble. Finally I set the MVObject deletion rule to delete the MVObject when it is disconnected from this MA. The last step was to run an import with this MA but filtered the specific object. This way, the MV Object becomes disconnected and was deleted.


    Wednesday, September 28, 2016 1:15 PM