SharePoint Upgrade – Incoming E-mail Issues

Here’s another fun scenario: SharePoint 2007 to 2010 upgrade that heavily relies on Incoming e-mail. When migrating/upgrading the content database, the incoming e-mail information is retained and you can see it by browsing to your favorite list or library of choice. Yay!..well kinda. This doesn’t work..I felt like Clark Griswold trying to light up his house on Christmas Vacation. The incoming e-mail alias is ALSO kept in the SharePoint configuration database. This means that the content database will have everything you need, but the config database is out of sync. You can fix this using a manual method of turning off and turning back on the ability for that list/library to receive e-mail…NO THANK YOU. As Russ declined to check each bulb individually..I respectfully declined that offer here as well.

PowerShell to the rescue! There is a RefreshEmailEnabledObjects() method you can use on a SPSite object to bring your SharePoint farm back in perfect harmony..Just like the old Coca Cola commercial used to say (Just a pop culture drop day today)

You can create your own script to loop through all SharePoint site collections or you don’t have to reinvent the wheel because Salaudeen Rajack at www.sharepointdiary.com has already done this for you: http://www.sharepointdiary.com/2013/08/fix-incoming-emails-not-working-issue-in-migration.html

SharePoint Error – Database is too old and upgrade is required

I was recently working on a SharePoint Migration Project where we migrated from a SharePoint 2010 farm to a shiny new SharePoint 2013 SP1 farm. Some of the sites were to stay in “2010 Site Collection Mode” until the site owner was ready to upgrade and others were upgraded to 2013 right away. Below is a screenshot or Central Admin showing the database upgrade status for 3 content databases:

  1. The top database was completely upgraded to 2013. Looks beautimus!
  2. The middle database has some sites upgraded and others in 2010 mode…Looks OK..
  3. The bottom database SHOULD have some site collection in 2010 mode and others in 2013 mode just like the middle database. Something looks off here right? Running the Upgrade-SPContentDatabase cmdlet did nothing and PSConfig did nothing.

CADBTooOldError

Looking at the eventvwr Application Log shows some interesting new errors:

eventvwrdbtooolderror

Nothing has changed in the farm from a SharePoint Server perspective…I was able to run the Get-SPContentDatabase command on each content database in this state and get back the appropriate webapp object for each. When clicking the content database anywhere in Central Admin I would get the error “Object Reference not set to an Instance of an Object” and this was causing other errors in the environment:

  1. Alerts were not working
  2. Issues with editing files/check-in and check-out
  3. Not able to select any site collection in Central Admin

Users could still get to the site collections…The experience just wasn’t optimal. I took a look through ULS, Eventvwr, and SQL Logs and couldn’t find anything besides a larger stack trace for the Object Reference Error and not much else.

Something happened between this content database and the SharePoint server causing the database to be in this funky state. PowerShell to the rescue!
The Fix: Running the Dismount-SPContentDatabse and Mount-SPContentDatabase fixed the issue.

For example: