At first it seems like a mystery. One minute Sharepoint is working fine and the next it’s not. You didn’t even do anything! It’s true you don’t have to do anything to have this problem occur. The only thing that has to happen is that the password for the Sharepoint service accounts expire or otherwise become out of sync with the Sharepoint database.
Things not to do:
- DO NOT reset the password for the Sharepoint service accounts
- DO NOT change the password for the sharepoint services logon account
- DO NOT change the account that the app pool runs as
All of these things will waste you time and just complicate things.
the example I am about the give occurred on an SBS 2011 server but the procedure will apply equally to any Sharepoint Foundation 2010. The only change to the procedure that you will need to make is database name and sharepoint service account names.
In this post I am standing on the shoulders of Adam Zou and Shawn Song, of Microsoft partner support who helped walk me through the process. There is a case record here: http://social.microsoft.com/Forums/en-US/partnerofficesharepoint/thread/dec8834c-876b-4b22-9f0d-dc213a0f0fac/
Here’s is what you should do:
- In SBS 2011, the problem stems from an expired password on the account named spfarm. You might have trouble finding this account in your active directory. It is located in Active Directory Users and Computers, under My Business OU – Users – SBSUsers and is called Sharepoint Farm Account. This password has expired and you need to reset it. Reset it to a complex password that you’ll remember.
- Next open Services.msc and sort by the Logon As column. Change the password to the one you just set for each service that logs on with that account.
- Open the Sharepoint 2010 Management Shell. This is Sharepoint’s powershell console. Enter the the following: Set-SPManagedAccount -UseExistingPassword -Identity domainspwebapp Being sure to put in your domain name where the command string calls for domain. For good measure, I did ran this command for spfarm, spwebapp and spsearch.
- Still in the shell, run this command: Repair-SPManagedAccountDeployment
- Open an elevated command prompt and run IISreset /noforce
- At this point you may want to see if everything is running, it may be and you might be done. Be sure to check your sharepoint website and the central admin site.
If any of the powershell commands gave you an error about permissions (which you’ll get if you’ve restore your server or your databases) then do this:
- Launch an elevated SQL Management Studio 2010 and look for databases labeled as Suspect.
- For each database labeled as suspect run the following SQL commands, replacing dbname with the full name of the suspect database:
ALTER DATABASE dbname SET EMERGENCY
ALTER DATABASE dbname SET SINGLE_USER WITH ROLLBACK IMMEDIATE
DBCC CHECKDB( Dbname, REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE dbname SET MULTI_USER WITH ROLLBACK IMMEDIATE
ALTER DATABASE dbname SET ONLINE
Immediately following these commands you should see your databases come out of suspect status and sharepoint should now be working fully.
So who wrote this blog and what do they do for a living anyway?
We’re Third Tier. We provide advanced Third Tier support for IT Professionals like you.