Remote Blob Store (RBS) (SQL Server)

SQL Server Remote BLOB Store (RBS) is an optional add-on component that lets database administrators store binary large objects in commodity storage solutions instead of directly on the main database server.

RBS is included on the SQL Server 2012 installation media, but is not installed by the SQL Server Setup program.

For more information about RBS, see RBS Resources in this topic.

Benefits of RBS

RBS provides the following benefits:

Optimized database storage and performance

Storing BLOBs in the database can consume large amounts of file space and expensive server resources. RBS efficiently transfers the BLOBs to a dedicated storage solution of your choosing, and stores references to them in the database. This frees server storage for structured data, and frees server resources for database operations.

Efficient management of BLOBs

Several RBS features support the convenient management of stored BLOBs:

  • BLOBS are managed with ACID (atomic consistency isolation durable) transactions.

  • BLOBs are organized into collections.

  • Garbage collection, consistency checking, and other maintenance functions are included.

Standardized API

RBS defines a set of APIs that provide a standardized programming model for applications to access and modify any BLOB store. Each BLOB store can specify its own provider library, which plugs into the RBS client library and specifies how BLOBs are stored and accessed.

A number of third-party storage solution vendors have developed RBS providers that conform to these standard APIs and support BLOB storage on various storage platforms.

RBS Requirements

RBS requires SQL Server Enterprise for the main database server in which the BLOB metadata is stored. However, if you use the supplied FILESTREAM provider, you can store the BLOBs themselves on SQL Server Standard.

RBS includes a FILESTREAM provider that lets you use RBS to store BLOBs on an instance of SQL Server. If you want use RBS to store BLOBs in a different storage solution, you have to use a third party RBS provider developed for that storage solution, or develop a custom RBS provider using the RBS API. A sample provider that stores BLOBs in the NTFS file system is available as a learning resource on Codeplex.

RBS Security

When you use a custom provider to store BLOBs outside of SQL Server, they may be available to other processes that bypass the SQL Server security system. Make sure that you protect the stored BLOBs with permissions and encryption options that are appropriate to the storage medium used by the custom provider.

RBS Resources

  • RBS documentation
    The RBS documentation is included in the Windows installer package. If you want to review the RBS documentation without installing RBS, you can view the SQL Server 2008 R2 version of the documentation online in the MSDN Library.

  • RBS white paper
    The white paper "Remote BLOB Storage", which is available for download as a Microsoft Word document, provides detailed information about installing and configuring RBS.

  • RBS samples
    The RBS samples available on Codeplex demonstrate how to develop an RBS application, and how to develop and install a custom RBS provider.

  • RBS blog
    The RBS blog provides additional information to help you understand, deploy, and maintain RBS.