Guidance: User info synch in MOSS 2007

Recently we have seen more cases were customers are having problems with the synchronization of User info between the SSP and the content databases failing to sync properly; see below for an example of the information I am talking about.

Username Tag that can be found in Lists, Document Libraries, etc:

clip_image002

User display page that you can see from People and Groups:

clip_image002[5]

In MOSS the SSP database is synchronized with Active Directory so we have a copy of Active Directory Objects in SQL. This is then synchronized with user tags and User display page for all active users within your Site Collections using 2 Timer Jobs:

Profile Synchronization - This job runs once every Hour and there is one per Web Application

Quick Profile Synchronization - This job runs once every minute as performance permits and there is one per Web Application

More guidance is available from MSDN.

How it get's broken, how we fix it, and how you can avoid it

Move content database improperly!

Why does this break the sync? We store the ID for the content database in the Config database. By not moving the content database properly we don't prepare the SSP for a new GUID, and the Timer Jobs will continue to try to sync with the old GUID not allowing us to sync with the new one.

How do you fix it? By following these steps

a. Run the command stsadm -o sync -listolddatabases 1 You should then get a list of database GUID.

b. Run the command stsadm -o sync -deleteolddatabases 1 This will remove the record from the SSP database but will not touch the actual Content Database.

c. Then wait for the next sync and you should see tags getting updated.

How do I avoid this? Follow these steps before moving Content Databases between Web Applications:

a. Run the command stsadm -o preparetomove -contentdb <Name of DB> -url https://UrlofWebApplication

b. Then disconnect the database and move it to another Web Application in the same Farm.

NOTE: If you have installed the Infrastructure update you do not have to run this command to move a Database, due to issues with Indexing they changed the way they handle the Database ID when dropping and adding it from the Web Application. See the blog for Todd Carter to get more info.

2. Databases are set to offline in Central Administration -> Application Management -> Content Databases

Why does this brake the sync? The timer Jobs that perform the sync will check first to see if the Database is offline, if it is then the job will end without making any changes

How do you fix it? By following these steps

a. Select the database so that you can edit the properties

b. Change Database Status to Ready

How do I avoid this?

If you would like to stop people from adding Site Collections to the Database then set the property "Maximum number of sites that can be created in this databaseā€.

3. Problem with Timer Jobs

Why does this break the sync? There are 2 Timer Jobs that perform the sync "Profile Synchronization" and "Quick Profile Synchronization". There should be 1 per Web Application and they need to be enabled.

How do you fix it?

Depends really on what the issue is but I have provided several articles and blogs to help you troubleshoot your Timer Jobs/Timer Service. Remember it needs to be there and enabled.

How do I avoid this?

Insure you maintain the general health of your farm; install updates as permitted, stay within capacity planning, monitor your ULS logs and event logs.

4. User is not active on the site

Why does this break the sync? When the timer jobs run they will check in the Userinfo table and look to see if tp_IsActive = True or False. And will only update the user tag if it's set to True.

How do you fix it?

Have the user log onto the Site and make a change either upload a document or edit a link; this will toggle it from False to True. Then wait for the Timer jobs to run.

References:

Sync: Stsadm operation (Office SharePoint Server)

https://technet.microsoft.com/en-us/library/cc263196.aspx

Database: Stsadm operations (Office SharePoint Server)

https://technet.microsoft.com/en-us/library/cc262486.aspx

Manage SharePoint timer jobs (Office SharePoint Server)

https://technet.microsoft.com/en-us/library/cc263433.aspx

Joe Rodgers - Blog

https://blogs.msdn.com/josrod/archive/2007/12/12/clear-the-sharepoint-configuration-cache-for-timer-job-and-psconfig-errors.aspx