The SharePoint Content database’s UserInfo table stores user specific information about an authenticated user and this information and really acts as a cache which is updated periodically. When a first time user first visits a site this table must be populated. There is a row for each user and for each site collection for which they have visited. For example, if you have 100 site collections and 50 users have visited 50 of the site collections there will be 50*50 or 2,500 approximately rows in the UserInfo table.
See Todd’s blog for more details.
But the issue is if the user is updated in AD that the UserInfo Table may not be synchronized.
One problem I found recently is a couple of Disabled AD user whose names are still in the people picker results.
You can use the query “WHERE (SELECT * FROM UserInfo WHERE tp_Title LIKE ‘Ken Zheng%’)”
The thing I tried is go to site collection and “All People”, find that user and removed there.
There are bunch of stsadmin command you can run to make sure the userinfo table is up to date:
1. stsadm -o Sync -listolddatabases 30
2. stsadm -o Sync -deleteolddatabases 30
3. stsadm -o Sync -synctiming M:5
4. stsadm -o Sync -sweeptiming M:5