First of all we have to
activate FILESTREAM on the SQL instance that you want to put to the
BLOB.
Connect to SQL Server
Start –> All
Programs –> Microsoft SQL Server 2008 R2 –> Configuration Tools –> SQL
Server Configurations Manager
In the Services list,
click “SQL Server Services”
Choose your SQL
instance (here “SQL Server (MSSQLSERVER)”) and right click Properties.
Switch to
the FILESTREAM tab and check all the available checkboxes
Click Apply –>
OK
Now start SQL Server
Management Studio
Start –> All
Programs –> Microsoft SQL Server 2008 R2 –>SQL Server Management Studio
Open a query windows
and start the following SQL statement
For easier reference,
just copy the text below
EXEC sp_configure
filestream_access_level, 2
RECONFIGURE
Connect to a Front End
Server Start –> Microsoft SharePoint 2010 Products –> SharePoint
2010 Management Shell Create a Content Database
For easier reference,
just copy the text below
New-SPContentDatabase
–name WSS_Content_Blob_001 –WebApplication http://sp2010 –MaxSiteCount
1 –WarningSiteCount 0
Connect to your SQL
Server
Start –> All
Programs –> Microsoft SQL Server 2008 R2 –>SQL Server Management Studio
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'
if not exists (select
groupname from sysfilegroups where groupname=N'RBSFilestreamProvider')alter
database [WSS_Content_Blob_001] add filegroup RBSFilestreamProvider
contains filestream
alter database
[WSS_Content_Blob_001] add file (name = RBSFilestreamFile, filename =
'c:\Blob_001') to filegroup RBSFilestreamProvider
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 follwoing
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).
msiexec /qn /lvx*
rbs_install_log.txt /i RBS.msi TRUSTSERVERCERTIFICATE=true FILEGROUP=PRIMARY
DBNAME="WSS_Content_Blob_001" DBINSTANCE="DC"
FILESTREAMFILEGROUP=RBSFilestreamProvider FILESTREAMSTORENAME=FilestreamProvider_1
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:
"Product: SQL
Remote Blob Storage -- Configuration completed successfully"
If that is not the case
you have an issue. Check the following:
- Are you in the right
directory
- Did you make a typo
- Did you run the
prompt with elevated privileges
If you have more than
one WFE in your farm, you now have to change to the other servers and run the
following command: 
For easier reference,
just copy the text below
msiexec /qn /lvx*
rbs_install_log.txt /i RBS.msi DBNAME="WSS_Content_Blob_001" DBINSTANCE="DC"
ADDLOCAL="Client,Docs,Maintainer,FilestreamClient,FilestreamServer"
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:
"Product: SQL
Remote Blob Storage -- Configuration completed successfully"
Execute all steps from
step 7 on every additional WFE. This is mandatory, otherwise problems might
occur.
Connect to SQL Server
Start –> All
Programs –> Microsoft SQL Server 2008 R2 –>SQL Server Management Studio
Execute the following
query
For easier reference,
just copy the text below
use
WSS_Content_Blob_001
select * from
dbo.sysobjects
where name like ‘rbs%’
Connect to WFE
Start –> Microsoft
SharePoint 2010 Products –> SharePoint 2010 Management Shell
Execute the following
commands in sequence:
For easier reference,
just copy the text below
$cdb =
Get-SPContentDatabase WSS_Content_Blob_001
$rbss =
$cdb.RemoteBlobStorageSettings
$rbss.Installed()
$rbss.Enable()
$rbss.SetActiveProviderName($rbss.GetProviderNames()[0])
$rbss
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 filesystem.
Notice:
$cbd.RemoteBlobStorageSettings.MinimumBlobStorageSize=1048576$cbd.Update()
This was the first
step, FILESTREAM is now successfully activated.All further steps requires
SharePoint to be installed properly and that a WebApplication has already been
created. The Content Database in this case I created by Powershell: Now
the new content database (in this case “WSS_Content_Blob_001”) has to be
prepared for use with FILESTREAM. 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]
use [WSS_Content_Blob_001]
use [WSS_Content_Blob_001]
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 Server (please, do
not rename the file). During all the following steps mind checking the log
files for errors. The script has created a few tables in the database,
check if they are existing: The result should show the RBS tables. This
may take a while.As one last step you have to tell Sharepoint that the content
database uses RBS. To do that you have to execute the following
command: 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). Documents below 100 kB will not be
put to the file system but will be stored in the database.If you like to change
this value, you can use this command (to set the value to 1MB):
$cbd = Get-SPContentDatabase “WSS_Content”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:
msiexec /qn /i
rbs.msi REMOTEBLOBENABLE=1 FILESTREAMPROVIDERENABLE=1
DBNAME=WSS_Content_Blob_002 FILESTREAMSTORENAME=FilestreamProvider_1
ADDLOCAL=EnableRBS,FilestreamRunScript DBINSTANCE=CD