How to Configure Remote Blob Storage with SharePoint 2013 and SQL 2014 ====================================================================== 1. Enable and configure Filestream - Restart SQL Server instance to apply the changes - Check SQL Server FILESTREAM share (NET SHARE) 2. Setting the filestream_access_level Parameter to 2 (Enableing FILESTREAM for Transact-SQL and Win32 streaming access) EXEC sp_configure filestream_access_level, 2 RECONFIGURE # Double-check the result EXEC sp_configure filestream_access_level 3. Preparing the SQL Server Databases that will be RBS enabled 3.1 Set a Database Master Key, create the FILESTREAM file group, specify the Blob store location # Replace "WSS_Content" with the name of the DB that will be RBS enabled # and "D:\Blobstore1" with Blob store location # (the directory must not exist and will be created automatically) use WSS_Content if not exists (select * from sys.symmetric_keys where name = N'##MS_DatabaseMasterKey##') create master key encryption by password = N'Admin Key Password !2#4' use WSS_Content if not exists (select groupname from sysfilegroups where groupname=N'RBSFilestreamProvider') alter database WSS_Content add filegroup RBSFilestreamProvider contains filestream use WSS_Content alter database WSS_Content add file (name = RBSFilestreamFile, filename = 'D:\Blobstore1') to filegroup RBSFilestreamProvider 3.2 Set DB permissions 4. Install the RBS Feature Pack 4.1 Make sure that you download the x64 Feature Pack (ENU\x64\RBS.msi): http://www.microsoft.com/en-us/download/details.aspx?id=42295 4.2 Install the RBS client library on each SharePoint Web server NOTES: - The command bellow does not use the ADDLOCAL parameter and installs all features by default - This command should be run just once per web server !!! Required permissions (!!!) for the account that is used: - The account must have local admin privileges (on the SP Web Server) - The account must be a member of the SQL sysadmin fixed server role # For simplicity, we use the Domain Administrator account (which in our demo is SQL server sysadmin as well) # Replace "WSS_Content" with the first SQL DB that you are RBS enabling # Replace "SQL14" with the actual SQL Server instance name # If SP is using the Default SQL instance - specify just the server name (as in our demo) # When using a named SQL instance - specify "SQLServer\InstanceName" msiexec /qn /lvx* rbs_install_log1.txt /i RBS.msi TRUSTSERVERCERTIFICATE=true FILEGROUP=PRIMARY DBNAME="WSS_Content" DBINSTANCE="SQL14" FILESTREAMFILEGROUP=RBSFilestreamProvider FILESTREAMSTORENAME=FileStreamStore 4.2 For the additional SharePoint DB that you need to RBS enable (This time we need to run the msiexec command with the ADDLOCAL parameter) # Change the log name, DB name, and SQL server name msiexec /qn /lvx* rbs_install_log2.txt /i RBS.msi REMOTEBLOBENABLE=1 FILESTREAMPROVIDERENABLE=1 DBNAME=PodcastDB ADDLOCAL="EnableRBS,FilestreamRunScript" DBINSTANCE=SQL14 msiexec /qn /lvx* rbs_install_log3.txt /i RBS.msi REMOTEBLOBENABLE=1 FILESTREAMPROVIDERENABLE=1 DBNAME=VideoDB ADDLOCAL="EnableRBS,FilestreamRunScript" DBINSTANCE=SQL14 5. Enable RBS for the SharePoint DB 5.1 Run this for each DB (replace the DB name): $cdb = Get-SPContentDatabase "WSS_Content" $rbss = $cdb.RemoteBlobStorageSettings $rbss.Installed() $rbss.Enable() $rbss.SetActiveProviderName($rbss.GetProviderNames()[0]) $rbss 5.2 When done, restart IIS iisreset