Hi,
Running FIM Synchronization Service v 4.0.3531.2 - Update1.
This instance is a simple setup, import from AD, export to SQL. I'm trying to export two multivalue attributes, one is a normal multivalue string, second is a reference attribute (member). My anchor is the GUID from AD in string format, perfectly fitting into uniqueidentifier sql datatype.
Since I wanted to have the member values in the multivalue table also stored in a uniqueidentifier column (for further linking) I had to create two columns, one as "uniqueidentifier" and second as "text". FIM configuration went smoothly, I defined a member multivalue reference attribute and selected the uniqueidentifier column as "String attribute column", and the other multivalue string attribute had to be linked as "Large string attribute column" and I pointed it to the text datatype column.
Synchronization completed without errors, export step properly exported all multivalue string attributes to the text column, BUT when it came to exporting the GUID reference attribute to the uniqueidentifier column it exported only the first value showing a "dn-attribute-failure" error. From the FIM GUI it was only showing the error number = 0x80230808.
I did a SQL trace to see what's going on. I re-run the export and saw FIM trying to delete all the values for this attribute multiple times with:
DELETE from [tblAD_Multivalue] WHERE [objectGUID] = N'{B011B424-5B2F-43A9-84C5-8605A570487B}' AND [attributeName] = N'member'
followed by doing cursor magic with the first value that was already added:
exec sp_cursor 180150007,4,0,N'tblAD_Multivalue',@objectGUID='B011B424-5B2F-43A9-84C5-8605A570487B',@attributeName='member',@guidValue='2E52A484-C7F6-49C0-AAC8-0A30C732A385'
After repeating the above for over 10 times it added a export_error_detail:
update [mms_connectorspace] set [export_error_detail] = N'<export-status><cd-error><error-code>0x80230808</error-code><error-literal>[Modify] Failed operation</error-literal></cd-error></export-status>',[count_export_error_retries] = 0,[is_export_error] = 1,[initial_export_error_date] = '2011-02-12 21:36:08.995',[last_export_error_date] = '2011-02-12 21:36:08.995',[export_error_code] = -2145189885,[unapplied_export_batch_number] = 1,[unapplied_export_sequencer_number] = 2162572,[original_export_batch_number] = 1,[original_export_sequencer_number] = 2162572,[current_export_batch_number] = 4,[current_export_sequence_number] = 2216213 where ([object_id] = '6F5C98E3-38FF-4F32-95F6-B5A315B71D7A')
I tried manually adding one of the following values directly to SQL and it worked, so I'm not really sure what's wrong here.
Any ideas?
Piotr