Sharepoint: The super reader account utilized by the cache does not have sufficient permissions to SharePoint databases
Issue
The super reader account utilized by the cache does not have sufficient permissions to SharePoint databases
Cause
This means that the cache accounts for your web application aren’t properly set and that there will be a lot of cache misses. If a cache miss occurs the page the user requested will have to be build up from scratch again. Files and information will be retrieved from the database and the file system and the page will be rendered. This means an extra hit on your SharePoint and database servers and a slower page load for your end user.
Solution
Super User Full Control to the entire web application
The domain\super user account needs to have a User Policy set for that gives it Full Control to the entire web application.
In order to do this you perform the following steps:
- Go to Central Administration
- Go to Application Management
- Go to Manage Web Application
- Select the web application we’re talking about
- Click User Policy
- Add Users
- Click Next
- Fill in domain\superuser
- Select Full Control
- Click OK
Super Reader
The domain\super reader account needs to have a User Policy set for that gives it Full Read to the entire web application. In order to do this you perform the following steps:
- Go to Central Administration
- Go to Application Management
- Go to Manage Web Application
- Select the web application we’re talking about
- Click User Policy
- Add Users
- Click Next
- Fill in domain\super reader
- Select Full Read
- Click OK
Classic mode authentication
If you are using classic mode authentication run the following cmdlets on one of your SharePoint servers:
$w = Get-SPWebApplication /">http://<server>/$w.Properties["portalsuperuseraccount"] = "domain\superuser"
$w.Properties["portalsuperreaderaccount"] = "domain\superreader"
$w.Update() |
Claims-based authentication
If you are using claims based authentication run these cmdlets on one of your SharePoint servers:
$w = Get-SPWebApplication "http://<server>/"
$w.Properties["portalsuperuseraccount"] = "i:0#.w|domain\superuser" $w.Properties["portalsuperreaderaccount"] = "i:0#.w|domain\superreader" $w.Update() |
After you've run these Power Shell cmdlets you need to perform an IISRESET to finish it off.