Export (0) Print
Expand All

Install and configure RBS with FILESTREAM in a SharePoint 2013 farm

SharePoint 2013
 

Applies to: SharePoint Server 2013, SharePoint Foundation 2013

Topic Last Modified: 2014-07-29

Summary: Learn how use the FILESTREAM provider to enable Remote BLOB Storage (RBS) in a SharePoint 2013 farm.

SharePoint 2013 uses the RBS feature to store binary large objects (BLOBs) outside the content database. For more information about RBS, see Overview of RBS in SharePoint 2013.

Unless otherwise specified, the information in this article is specific to RBS using the FILESTREAM provider. For guidance specific to another provider, contact the provider manufacturer.

TipTip:
This solution uses the FILESTREAM RBS provider that is included with SQL Server 2008. If you want to install and configure RBS using a different provider, use the procedure in Install and configure RBS with a 3rd party provider (SharePoint 2013).
ImportantImportant:
The steps in this article apply to both SharePoint Foundation 2013 and SharePoint Server 2013, except for the Enable RBS for each content database section, which applies only to SharePoint Server 2013.

In this article:

You only have to install and configure RBS with the FILESTREAM provider one time for the farm. However, if you want to enable RBS using different providers for specific content databases, you must configure RBS to use those providers. For more information about doing that, see Install and configure RBS with a 3rd party provider (SharePoint 2013).

NoteNote:
Because SharePoint 2013 runs as websites in Internet Information Services (IIS), administrators and users depend on the accessibility features that browsers provide. SharePoint 2013 supports the accessibility features of supported browsers. For more information, see the following resources:

Before you begin this operation, review the following information about prerequisites:

  • The user account used to perform the steps in the Provision a BLOB store for each content database section must be a member of the db_owner fixed database role on each database that you are configuring RBS for.

  • The user account installing the client library in the steps in the Install the RBS client library on each web server section must be a member of the Administrators group on all of the computers where you are installing the library.

  • The user account enabling RBS in the Enable RBS for each content database section must have sufficient permissions to run Windows PowerShell.

By default, the FILESTREAM feature is installed when you install SQL Server 2008. But it is not enabled. You must enable and configure FILESTREAM on the computer that is running SQL Server 2008 that hosts the SharePoint 2013 databases. You must:

  1. Enable FILESTREAM for file I/O streaming access.

  2. Allow remote clients to have streaming access to FILESTREAM data.

To enable FILESTREAM for file I/O and to allow clients access, follow the instructions in How to: Enable FILESTREAM (http://go.microsoft.com/fwlink/p/?LinkID=166110&clcid=0x409). You only have to configure these settings one time for each database server where you want to use RBS.

After you have enabled and configured FILESTREAM, provision a BLOB store on the file system as described in the following procedure. You must provision a BLOB store for each content database that you want to use RBS with.

To provision a BLOB store
  1. Confirm that the user account performing these steps is a member of the db_owner fixed database role on each database that you are configuring RBS for.

  2. Click Start, click All Programs, click Microsoft SQL Server 2008, and then click SQL Server Management Studio.

  3. Connect to the instance of SQL Server that hosts the content database.

  4. Expand Databases.

  5. Click the content database for which you want to create a BLOB store, and then click New Query.

  6. Paste the following SQL queries in Query pane, and then execute them in the sequence listed. In each case, replace [WSS_Content] with the content database name, and replace c:\BlobStore with the volume\directory in which you want the BLOB store created. The provisioning process creates a folder in the location that you specify. Be aware that you can provision a BLOB store only one time. If you attempt to provision the same BLOB store multiple times, you'll receive an error.

    TipTip:
    For best performance, simplified troubleshooting, and as a general best practice, we recommend that you create the BLOB store on a volume that does not contain the operating system, paging files, database data, log files, or the tempdb file.
    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 = 
    'c:\Blobstore') 
    to filegroup RBSFilestreamProvider
    

You must install RBS client library on all web servers in the SharePoint farm. The RBS client library is installed only one time per web server, but RBS is configured separately for each associated content database. The client library consists of a client-side dynamic link library (DLL) that is linked into a user application, and a set of stored procedures that are installed on SQL Server.

WarningWarning:
Do not install the RBS client library by running the RBS_amd64.msi file and starting the Install SQL Remote BLOB Storage wizard. The wizard sets certain default values that are not recommended for SharePoint 2013.
To install the RBS client library on the on the first web server
  1. Confirm that the user account performing these steps is a member of the Administrators group on the computer where you are installing the library.

  2. On any web server, browse to http://go.microsoft.com/fwlink/p/?LinkId=271938 and download the RBS_amd64.msi file.

  3. Click Start, click Run, type cmd into the Run text box, and then click OK.

  4. Copy and paste the following command into the Command Prompt window. Replace WSS_Content with the database name, and replace DBInstanceName with the SQL Server instance name. You should run this command by using the specific database name and SQL Server instance name only one time. The action should finish within approximately one minute.

    msiexec /qn /lvx* rbs_install_log.txt /i RBS_amd64.msi TRUSTSERVERCERTIFICATE=true FILEGROUP=PRIMARY DBNAME="WSS_Content" DBINSTANCE="DBInstanceName" FILESTREAMFILEGROUP=RBSFilestreamProvider FILESTREAMSTORENAME=FilestreamProvider_1
    
To install the RBS client library on all additional web and application servers
  1. Confirm that the user account performing these steps is a member of the Administrators group on the computer where you are installing the library.

  2. On any web server, browse to http://go.microsoft.com/fwlink/p/?LinkId=271938 and download the RBS_amd64.msi file.

  3. Click Start, click Run, type cmd into the Run text box, and then click OK.

  4. Copy and paste the following command into the Command Prompt window. Replace WSS_Content with the database name, and replace DBInstanceName with the name of the SQL Server instance. The action should finish within approximately one minute.

    msiexec /qn /lvx* rbs_install_log.txt /i RBS_amd64.msi DBNAME="WSS_Content" DBINSTANCE="DBInstanceName" ADDLOCAL=Client,Docs,Maintainer,ServerScript,FilestreamClient,FilestreamServer
    
  5. Repeat this procedure for all web servers and application servers in the SharePoint farm.

To confirm the RBS client library installation
  1. The rbs_install_log.txt log file is created in the same location as the RBS_amd64.msi file. Open the rbs_install_log.txt log file by using a text editor and scroll toward the bottom of the file. Within the last 20 lines of the end of the file, an entry should read as follows: Product: SQL Remote Blob Storage – Installation completed successfully.

  2. On the computer that is running SQL Server 2008, verify that the RBS tables were created in the content database. Several tables should be listed under the content database that have names that are preceded by the letters "mssqlrbs".

You must enable RBS on one web server in the SharePoint farm. It is not important which web server that you select for this activity, as long as RBS was installed on it by using the previous procedure. You must perform this procedure one time for each content database.

NoteNote:
You can only enable RBS by using Windows PowerShell.
To enable RBS by using Windows PowerShell
  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. Start the SharePoint 2013 Management Shell.

    • For Windows Server 2008 R2:

      • On the Start menu, click All Programs, click Microsoft SharePoint 2013 Products, and then click SharePoint 2013 Management Shell.

    • For Windows Server 2012:

      1. On the Start screen, click SharePoint 2013 Management Shell.

        If SharePoint 2013 Management Shell is not displayed on the Start screen:

      2. Right-click Computer, click All apps, and then click SharePoint 2013 Management Shell.

    For more information about how to interact with Windows Server 2012, see Common Management Tasks and Navigation in Windows Server 2012.

  3. At the Windows PowerShell command prompt, type the following command:

    $cdb = Get-SPContentDatabase <ContentDatabaseName>
    $rbss = $cdb.RemoteBlobStorageSettings
    $rbss.Installed()
    $rbss.Enable()
    $rbss.SetActiveProviderName($rbss.GetProviderNames()[0])
    $rbss
    

    Where:

    • <ContentDatabaseName> is the name of the content database.

For more information, see Get-SPContentDatabase.

ImportantImportant:
Make sure that the web application that accesses the RBS-enabled content database is a member of the db_owner fixed database role for that database.

You should test the RBS installation on one web server in the SharePoint farm to make sure that the system works correctly.

To test the RBS data store
  1. On the computer that contains the RBS data store, click Start, and then click Computer.

  2. Browse to the RBS data store directory.

  3. Confirm that the folder is empty.

  4. On the SharePoint farm, upload a file that is at least 100 kilobytes (KB) to a document library.

  5. On the computer that contains the RBS data store, click Start, and then click Computer.

  6. Browse to the RBS data store directory.

  7. Browse to the file list and open the file that has the most recent changed date. This should be the file that you uploaded.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft