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.
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.
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 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.
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.