I came across a strange one the other day. A client called me to say when a user adds an alert it shows an email address that the user had a while ago and does not reflect an update in Exchange / AD. So the easy target was the user profile service however it proved not to be this (for once!).
So doing some digging I found some really strange behaviour. I tested the user in questions alerts and sure enough it was showing the old email address even though all the information for that user was definitely correct.
After further testing I experienced different profile information in different site collections (some correct and up to date and the others not).
So to picture the page I am referring to, here’s a screenshot below (_layouts/userdisp.aspx)
This is the page you would normally see in WSS or SharePoint Foundation and you can still access this page from SharePoint Standard or Enterprise selecting My Settings from the drop down.
Back to the issue.in hand so noticing different behaviour between site collections, I came across a Microsoft KB article KB2012619 which suggested that if a user is only a reader of the site collection they wont be able to update the information. I thought this was strange however I tested this and strangely it worked. Long story short I then tested again and it didn't so results were mixed. I then discovered the actual timer job which updates each site collection with the user profile information from the service application which is called ‘User Profile Service Application - User Profile to SharePoint Full Synchronization’:
This Timer Job was running fine however the specific site collections were not updating.
From articles relating to MOSS 2007 there was suggestions that if the database was not correctly attached to the farm the SSP would report issues. As the farm I was working on was upgraded I had suspicions that maybe not all was well with content database so decided to create a new content database and migrate all the site collections into this database using PowerShell to do so (See http://technet.microsoft.com/en-us/library/cc825328.aspx#Section3).
After moving the site collections to the new content database then re-running the ‘User Profile Service Application - User Profile to SharePoint Full Synchronization’ Timer Job this successfully updated all site collections with the correct information. I tested this further by adding additional profile information in AD then running a full profile synch and finally the Timer Job to update the SharePoint Sites and the new information successfully propagated to each site collection.
So to conclude the user who’s alert page was showing an old email address was now corrected so his was able to receive alerts.