This was the first step, FILESTREAM is now successfully activated.
All further steps requires SharePoint to be installed properly and that a Web Application has already been created. The Content Database in this case I created by PowerShell:
Connect to a server (App Srv1 – I chose this server since it hosts Central Admin but it’s not mandatory, you may run this command from any SharePoint server) Start –> Microsoft SharePoint 2010 Products –> SharePoint 2010 Management Shell Create a Content Database
Now the new content database (in this case "WSS_Content_Blob_001") has to be prepared for use with FILESTREAM.
Connect to your SQL Server Start –> All Programs –> Microsoft SQL Server 2008 R2 –>SQL Server Management Studio
Open a query and execute the statement below. Replace "C:\Blobstore" by your storage-path. The directory must not exist when executing the statement, otherwise an error will be given.
For easier reference, just copy the text below
use [WSS_Content_Blob_001] 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_Blob_001] if not exists (select groupname from sysfilegroups where groupname=N'RBSFilestreamProvider')alter database [WSS_Content_Blob_001] add filegroup RBSFilestreamProvider contains filestream
use [WSS_Content_Blob_001] alter database [WSS_Content_Blob_001] add file (name = RBSFilestreamFile, filename = 'c:\Blob_001') to filegroup RBSFilestreamProvider
Now the direcory for the Blobstore has been created in "C:\Blob_001"
Next you have to
download the EXE for RBS, and it has to be copied to each Web Frontend Servers & in App Servers (please, do not rename the file). During all the following steps mind checking the log files for errors.
Connect to the Web Front End hosting the Central Admin Console
Open a Command Prompt (IMPORTANT -> run with elevated permissions)
Change to the directory containing the previously downloaded RBS.exe
Delete or rename a already existing „rbs_install_log.txt" if applicable.
Run the following command, replace DBNAME with your content database and DBINSTANCE with your SQL instance. Mind that this command only works once, if you want to configure a second database, chose the option "Configure additional database" (see below).
[We executed this command in App Server1 & App Server2]
After this process has completed (it may take a minute or two, the log reads "Verbose Logging stopped"), check the "rbs_install_log.txt" if it contains the following line of text (it should be approximately 21 lines before the end of the file:
Since all has been prepared we can check the functionality. Just create a site collection and make sure the content database used is "WSS_Content_Blob_001". (or whatever you chose during install).
Connect to WFE Start –> Microsoft SharePoint 2010 Products –> SharePoint 2010 Central Administration
Application Management – Manage Content Databases
Choose the applicable Web Application
Configure the Content Database to put the next site collection to "WSS_Content_Blob_001" – If you have multiple databases, set "Maximum Number of Site Collections" to the current value – "WSS_Content_Blob_001" should not contain any site collections
Go back to the main site of Central Administration
Application Management – Create Site Collection - Enter all the required data - OK
As soon as the site collection creation is finished, all newly uploaded documents should be created in the file system.
Documents below 100 kB will not be put to the file system but will be stored in the database.
Configure additional content databases:
If you want to configure more than one content database for RBS, all the steps above have to be executed. The only difference is the command in step 5. This one dies not work, and no RBS tables are created. Therefore use the command below:
If a content database is set to use the SQL FILESTREAM remote BLOB storage (RBS) provider, the RBS provider must be installed both on the database server that is being backed up and on the database server that is being recovered to.