FILESTREAM Error With SharePoint 2013 And SQL Server 2012

I spent several days over the weekend on this error. What little hair I have left has now been completely removed (j/k I’m only 31 for cripes sake!)

This error appears to be pretty common within SharePoint 2013 and SQL server 2012. For a while I thought about throwing a call to Microsoft PSS and issuing a bug report but that would take forever.

Firstly, the environment I am using is not complex, small farm configuration with a WFE and backend SQL DB. Nothing too fantastic. As a side note, downgrading the database environment to SQL server 2008 R2 did nothing to fix this error for me. I have followed the guide located here:

step-by-step to reproduce this error. From the UI perspective when uploading a file the error will read:

“Sorry, something went wrong

The URL ‘Documents/File.pdf’ is invalid. It may refer to a nonexistent file or folder, or refer to a valid file or folder that is not in the current Web.”

Through PowerShell, off the SPContentDatabase.RemoteBlobStorageSettings property which holds settings that determine how the content database uses Microsoft SQL Server Remote Blob Storage the SetActiveProviderName method can be set to a blank value so the service is disabled. This should return uploading to a functional state. If you don’t believe the FILESTREAM provider is there, you can test using the SPContentDatabase.RemoteBlobStorageSettings.GetProviderNames() method. It should return FilestreamProvider_1

The whole PowerShell is:

$site=Get-SPSite [site url]

While this disables it, it is ideal to fix it! And the fix is real simple.

  1. Find your SharePoint Application Pool account identity
  2. Logon to the database server, open SQL Server Management Studio.
  3. Add the Application Pool Identity to the db_owner role.

Works for me after that change!