SQL Versions and RBS Licensing

Mar 16, 2010 at 7:47 PM

I'm trying to find some black and white guidance on the relationship of SQL Server 2008, SQL Server 2008 R2, the FILESTREAM RBS provider and the RBS Framework in general.

It seems to me that at the most basic level, the RBS "framework" from a SQL Server perspective consists of a single script file that helps you prepare your database for enabling RBS.  Is there some dependency in this script that causes us to need SQL Server 2008 "R2"?  Or is that more of a requirement of the latest FILESTREAM RBS provider?  It really seems like the RBS provider reference DLLs are what really matter from an API standpoint and those are going to run on the other application servers (not SQL Server) anyway.

For example, I was able to take the code from this site, update it such that it properly supported the new dispose methods, and then deploy the provider on a SharePoint 2010 Beta Content Database using SQL Server 2008.  It appears that everything is working perfectly fine.  But I keep hearing that SQL Server 2008 "R2" is a requirement?  Why is that?  Is "R2" only a requirement because of a dependency that the FILESTREAM RBS provider has?  It seems that the RBS provider from this site doesn't require "R2".

Also, I also read on this discussion board that from a licensing perspective SQL 2008 "Enterprise" is required.  Is that documented anywhere?

We're big into Remote BLOB storage where I come from and I'm just trying to prepare for the coming SP2010 / RBS wave.  Unfortunately, this CodePlex site and the SQL RBS blog are the only sources of information that I can find anywhere on this topic.

Best Regards.

Mar 16, 2010 at 8:35 PM

Hi,

     SQL RBS framework from SQL 2008 R2 release (you can use the current November CTP download for this purpose) is supported on both SQL 2008 and SQL 2008 R2 (this is recommended due to some additional performance enhancements that we did). Here is a matrix of the RBS support for SharePoint that we announced in the SharePoint conference last october.

 

SQL 2008

SQL Server 2008 R2

RBS 2008

 Not Supported

Not Supported

RBS 2008 R2 with FILESTREAM Provider

 Supported

Recommended

Regarding License requirements - Here is an extract from the SharePoint documentation that will come out with their release later this year.  Licensing will also be listed in the 'End User Licensing Agreement' document that is part of the downloaded RBS software. 

If you plan to store BLOB data in an RBS store that is associated with a different database, you must be running SQL Server Enterprise Edition--this applies whether the provider is from Microsoft or from a third party. 

 

Note: The SQL FILESTREAM provider recommended for use in upgrading WSS to Foundation associates data locally with the current database, and does not require the use of SQL Server Enterprise Edition.

hope this helps 

-- Srini Acharya, SQL Server

 

Mar 16, 2010 at 9:04 PM

Thanks Srini, that helps a lot!

So I'm just slightly unclear on one thing then.  What does it mean when it says "If you plan to store BLOB data in an RBS store that is associated with a different database"?

For example, the RBS provider on this site can be used to enable RBS in SharePoint 2010 (with a little modification).  I was able to get it the appropriate resources deployed to a SharePoint 2010 Content database and enabled via PowerShell.  I am now able to use a network file share as a BLOB store for SharePoint in a somewhat proof of concept scenario.  Is there anything about this configuration that requires an Enterprise license vs a Standard license?

Thanks in advance.  I really appreciate prompt feedback on this discussion forum.

 

Mar 16, 2010 at 9:12 PM

In the SharePoint installations, if the BLOBs are being stored outside of the corresponding SharePoint content database, then you would need an Enterprise license of SQL Server. So, in general use of RBS requires an Enterprise license (using a FILESTREAM provider to store the BLOBs back into the same content database is the only exception). Based on your descriptions, as you are storing the BLOBs in a network fileshare, you would need an Enterprise license of SQL Server.

-- Srini Acharya

Mar 18, 2010 at 10:56 AM

Hi Srini,

To my understanding when using RBS, the blob store is always external to the content database. Right ?

In Russ's case the BLOB Store is in the same content database, however the files are stored in a folder, that is not on the local disk of SQL server. But still belongs to the same content databse. In this case he needs enterprise version ?

I was under the impression that if your blob store (the blob files itself) are stored on a remote location (being a remote SQL database, RBS enabled or not, or a 3rd party provider) than you need enterprise version. But if it's local to the SQL box you don't. Can you comment on this ?

Cheers!

 

 

Mar 19, 2010 at 7:32 PM

When I talked about BLOB store, I meant the location where the BLOBs are stored. As I understood it, Russ implemented his own RBS provider using the sample code and the BLOBs are stored in a network share location. So this would be not in the content database and hence SQL EE requirement. Only case where the BLOBs are in the content database is when a SQL varbinary column (default SharePoint implementation) or SQL FILESTREAM column in the content database is used for storing the BLOBs.

-- srini