none
MS SQL MA multivalued attribute removal unexpected behaviour RRS feed

  • Question

  • Hello all

    I have a strange situation on a FIM 2010 R2 implementation. Using the out of the box MS SQL MA, we have a multi-valued table set up correctly. One of the multivalued attributes is 'Owner' (or it could be 'Manager' etc.). Now if this attribute is not present in the table, then on an import and sync obviously nothing flows. If the attribute is subsequently populated then this flows into the MV as it should. Adding additional Owners also works properly.

    However, if the table values are subsequently deleted (i.e. no Owners) then on the next import the object throws an "invalid-attribute-value" exception, the detail is "the attribute value was not specified".

    It feels as though the CS persists with the attribute connection. I have never seen this with a single valued attribute, which FIM quite happily processes through as a deleted attribute. There is nothing special about the attribute, it is not a reference, just a simple string and a direct flow.

    We can work around this behaviour by dropping in a dummy string if the table value is not present and then filtering it out on the corresponding export MA, but it just seems to be incorrect.

    I have searched thoroughly for any other occurrences of this on the 'net but cannot find anything. Anyone?

    Tuesday, May 27, 2014 1:36 PM

All replies

  • Hi!

    Is this only on Delta import run profile or also on Full Import?

    In the multivalue table, is the rows deleted or the attribute values just set to NULL? They should be deleted for this to work.

    A quick look at the error tells us "This error is returned by a call-based management agent when an attribute value is read that does not conform to the attribute type declared in the schema. Includes an <attribute-name> element to give the context of the error."

    /Robert

    Wednesday, May 28, 2014 8:31 AM
  • Hello Robert, thanks for the response. We do not currently have deltas set up on this MA, so it is with a Full Import.

    The behaviour happens when the rows are deleted, although the same thing happens if the last instance of the attribute is set to a string null (''), or just a NULL.

    It is as though the MA is insisting on having something there... 

    Alan


    Wednesday, May 28, 2014 8:51 AM
  • Just to make it clear,

    Main view have one row with a unique identifier witch have some values. In the multivalue view there is no objects with the same unique identifier as in the mail view for that attribute?

    Can you please send what columns you have in each of the views and witch attribute is used as anchor and witch attribute is used as the reference between the views.

    One thing that would be interesting is the datatype are you using "nvarchar" for the string attributes?

    Wednesday, May 28, 2014 10:06 AM
  • The main table has one column which is the UID (Id). There are no objects with the same unique identifier in the multivalue table as in the main table.

    The configuration is

    Tables:

    TempApplications
        Id (int, not null)
        ...

    ApplicationMultiValuedAttributes
        Id (int, not null)
        Attribute_Name (nvarchar(1024), null)
        String_Value (nvarchar(1024), null)

    MS SQL Management Agent:

        Table/View: TempApplications
        MultivalueTable: ApplicationMultivaluedAttributes
        Columns:    Id
                ...
        Set Anchor: Id
        Multivalue settings:
            Specify the attribute name column: Attribute_Name
            String attribute column: String_Value

            Configure multivalue attributes:
            Attribute name        Attribute type
            Approver                String
            SendEmail              String
            Owner                    String
            ADGroups               String


    Wednesday, May 28, 2014 12:36 PM
  • Ok thank you for the info. What I can se and when I compare to one of my SQL MA witch uses this all looks good.

    Have you tried to refresh schema of the MA?

    Can you try to create a new MA and just run a Full Import and see if the objects without values in one multivalue attribute looks ok?

    Wednesday, May 28, 2014 1:06 PM
  • The problem is not importing objects without associated multivalues - that works fine (and always has since MIIS), it is when you remove/delete the last previously existing multivalue. I cannot recall ever having a situation where this is required before, as configurations usually require at least one value and they do not disappear.

    Perhaps you could try and reproduce this behaviour?

    Wednesday, May 28, 2014 1:17 PM
  • Ok, I have tried this and it works fine, but it is not the last value the object have but the last for that specific multivalue attribute on the object.

    I would:

    1. Create a new entry in mail table and 2 or more multivalue values for that object in the multivalue table.

    2. Run a Full Import and check so it's all there.

    3. Remove all multivalue values (delete row from table) but 1 and run another Full Import and check the object in CS.

    4. Remove the last value for that multivalue value (delete row from table) and run another Full Import and check CS so the attribute is removed from the object. (is this when you get the error?)

    5. Create a new MA point to the same DB and tables/views and try the same thing.

    Wednesday, May 28, 2014 1:42 PM