SharePoint 2010 Beta with FILESTREAM RBS Provider

You may have already been busy trying different new fancy features of SharePoint 2010. Time to try something really hardcore for IT Pro! Remote Blob Storage is always what people are asking for – to put blob objects outside of SQL Server database, directly on file system or on some storage solutions like Documentum and FileNet. In such way, it may provide cheaper storage or better performance. SharePoint 2010 support RBS, and also can leverage SQL Server FILESTREAM RBS provider for customers to try out the capability.

In SharePoint 2010, FILESTREAM RBS Provider is also used for getting around the 4GB database limitation in SQL Server Express. Given the fact that SharePoint Foundation 2010 (used to be called Windows SharePoint Services v4) is no longer a part of Windows Server operating system, it will not use Windows Internal Database. So when Windows SharePoint Services 3.0 users are trying to upgrade their farms, they may have an internal database larger than 4GB, which would pass the limitation of SQL Server Express. There will be a prompt to let user download this FILESTREAM RBS Provider to put large blob objects on file system, store the rest like metadata, configuration in databases. In this way, the limitation of SQL Server Express can be bypassed. But, at the same time you should consider to move to other SQL Server editions. With the growth of the databases, SQL Server Express and Windows Internal Database are not the choices for scalability.

Note: FILESTREAM RBS Provider does not always provide better performance. We will release document on TechNet for recommendation and planning.

You can also consider using a third party RBS provider.

Documentation (Updated on 12/04/2009)

Overview of BLOB storage

https://technet.microsoft.com/en-us/library/ee748607(office.14).aspx (SharePoint Foundation 2010)

https://technet.microsoft.com/en-us/library/ee748649(office.14).aspx (SharePoint Server 2010)

Install and configure Remote BLOB Storage

https://technet.microsoft.com/en-us/library/ee663474(office.14).aspx (SharePoint Foundation 2010)

https://technet.microsoft.com/en-us/library/ee748631(office.14).aspx (SharePoint Server 2010)

Enable a content database to use Remote Blob Storage (RBS)

https://technet.microsoft.com/en-us/library/ee748605(office.14).aspx (SharePoint Foundation 2010)

https://technet.microsoft.com/en-us/library/ee748641(office.14).aspx (SharePoint Server 2010)

Upgrade from a stand-alone installation of Windows SharePoint Services 3.0 to SharePoint

https://technet.microsoft.com/en-us/library/ee663471(office.14).aspx

Installation Notes

The key component is the provider itself. With SharePoint 2010 Public Beta, we need to use the FILESTREAM RBS Provider shipped with SQL Server 2008 R2 Nov CTP. Don’t worry, it can be installed and used with SQL Server 2008.

The original download link on TechNet article pointed to an older version of the provider which was used with SharePoint 2010 Technical Preview (a.k.a. June CTP). This link has already been updated with the new one, so if you downloaded “RBS_X64.msi” earlier, please re-download it. The correct installer should be 4.67MB, with a digital signature time stamp at Nov 1st, 2009.

When you copy and paste the script, be careful with the quotes – there could be issues with them. You need to clean the wrong quotes, and replace them with the right one.

Follow the steps described in the documentation and get it setup. If you get into any problems, please report them to SharePoint 2010 - Setup, Upgrade, Administration and Operation Forum on TechNet Forums.

Another point is, you can allow only big files to be put into FILESTREAM. Since FILESTREAM performance is not as good as the databases when it deals with small files (for example, <1M), you can change this threshold.  The following Windows PowerShell command change the setting to 1M (1048576 bytes), file below 1M will be stored in DB.

$cbd = Get-SPContentDatabase “WSS_Content”
$cbd.RemoteBlobStorageSettings.MinimumBlobStorageSize=1048576
$cdb.Update()

It would be good to test the performance based on your own storage and hardware.

FAQ:

Q1. Who should consider using FILESTREAM RBS Provider?
A: People who are using Windows Internal Database to host their Windows SharePoint Services 3.0 or SharePoint Server 2007 content database, and want to upgrade to 2010 products, should consider FILESTREAM RBS Provider. Also, FILESTREAM RBS Provider could also be considered to deal with the following scenarios:

1. Store terabytes of data for archiving purpose.
2. Media streaming.

Q2 removed. :-) 

 

Jie Li

Technical Product Manager, SharePoint

Comments

  • Anonymous
    December 22, 2009
    The comment has been removed

  • Anonymous
    January 06, 2010
    Hello.  During your Sharepoint 2010 Fireside chat you mentioned that RBS would not work with SQL Server Standard edition.  I have not been able to find documentation of that online.  Could you please provide a link to MS documentation confirming this?  Thanks.

  • Anonymous
    January 07, 2010
    @eva It depends on what stuff you want to put inside - the FILESTREAM Provider is a way to put things off SQL Server DB disks, so you may save cost by using cheaper storage. But it does not necessarily mean that you will get better performance. We recommend to use it with the scenarios like doc archiving, media streaming, etc. @LATurner, I might be wrong:) It turns out we proberly will not have that restriction!

  • Anonymous
    February 25, 2010
    Jie, TechNet article states that the first command should be run on the database server and one of the WFE's, and the second one should be run on the other WFE's and all the application servers. Isn't it enough to run the first command on the database server only ?

  • Anonymous
    May 12, 2010
    Hi Jie, I followed the steps provided in technet exactly to enable RBS, but I could do it only on one Content DB. I wanted to enbale RBS on more than one Content DB. After I run the command to install RBS on a Content DB, the rbs_install_log.txt file shows the phrase "configuration completed successfully" but the Installed() method on RemoteBlobStorageSettings object shows 'false'. Is enabling RBS restricted to one ContentDB in the SP 2010 farm? Or Am I missing something here? thanks, -Imran PS: I have one SQL 2008 R2(NOV CTP) and one SharePoint server with SharePoint 2010 RTM installed on it.

  • Anonymous
    August 16, 2010
    Hi Jie, We have a new sharepoint 2010 farm and I enabled filestream on our SQL Server 2K8 server.  I also installed and configured RBS.  We then decided to disable filestream and store the documents directly in the database.  So, I used the sp_configure syntax to disable filestream.  I restarted the sql service and my site was down.  I checked the database and noticed the database was sown and it was in recovery_pending status.  I re-enabled filestream and everything was working again.  How do I disable filestream and store the documents directly in the database?

  • Anonymous
    February 22, 2011
    Hi Jie li That was a good article of course. I also passed by StorageEdge and they are also providing their own RBS which helps externalize the Blobs. Have a look at it www.alachisoft.com/.../index.html

  • Anonymous
    August 10, 2011
    Hi All, I have written an article that provides screen shots and troubleshooting steps, if you may encounter a problem in setting up Remote Blob Storage (RBS) for SharePoint Server 2010. This article can be found at www.sp-blogs.com/.../Post.aspx Thanks Adnan Ahmed SharePoint Architect www.sp-blogs.com/blogs/adnan