I was a speaker at five SQL Saturdays this year and at each one of them I was asked why SharePoint requires the SQL Server Maximum Degree Of Parallelism setting to be set equal to 1. After explaining the reason, I would get a blank stare and then a response like “so SharePoint is inefficient and is hard-coded to look for MAXDOP=1?”
Knowing that I would be asked the same question again at the next SQL Saturday, in late July I sent out a tweet trying to get an answer to the question: “Will SharePoint Server 2016 require MAXDOP to be equal to 1?” The only response I received was from Dan Usher, who's response you can see below – sarcasm included 🙂
@DanielGlenn Hmmm… now you're just being silly. @williambaer @mkashman @jthake
— Dan Usher (@binarybrewery) July 24, 2015
So, with the release of SharePoint Server 2016 IT Preview, I was very interested in performing an install with MAXDOP set to something other 1.With SharePoint 2013, if MAXDOP did not equal 1, the install failed when creating the configuration database and would show an error (see information about permissions at the end of this post).
So with my first install of SharePoint 2016, I set MAXDOP equal to 5 in SQL Server and ran the install. The install completed successfully…to my surprise. I really thought I would see an error similar to the one above.
So, for a moment, I thought I might have a new story to tell my DBA friends: “SharePoint Server 2016 doesn't require MAXDOP=1!” But, that moment quickly went away and I remembered why the error message appeared in a SharePoint 2013 install – the install user did not have sufficient rights within SQL Server to change the Maximum Degree Of Parallelism setting. SharePoint 2013 actually does attempt to change MAXDOP to 1, but if you have SQL and SharePoint configured properly, your SharePoint account will not have rights to make changes to SQL system settings.
For my first install test, I was using a service account that did have administrative rights on SQL as well. I looked at the setting in SQL and SharePoint 2016 did change the Maximum Degree Of Parallelism setting to 1. So, the story is, as of now anyway (we are dealing with Preview software), SharePoint Server 2016 requires MAXDOP=1.