SQL Server Remote Blob Storage (RBS) Credential Store Symmetric Key Rotation

The SQL Server team would like to advise RBS admins on security procedures for rotating the credential store symmetric key.  If a provider requires the setup and use of a secret stored within the credential store (see related article), RBS uses this symmetric key to encrypt any provider secrets which a client may request to…

0

Fixing RBS/Provider version mismatch issues

The problem Release of a new RBS library will cause the providers developed with older version to not work due to version mismatch. The symptoms Let’s take an example of SharePoint to understand where and how the problem might appear. On a running SharePoint instance with the RBS client and RBS providers installed, after an…

0

RBS Security Model

RBS stores blob data in external blob stores which often use a differing security method from SQL Server. This blog post details the RBS security model for administrators and provider developers. Master Key Requirement As part of the RBS installation a database master key is required to be set. This is used for RBS credential…

0

RBS Filestream Provider Small Blob Optimization Settings

The RBS Filestream Provider has a number of configuration options designed to ensure optimal read and write performance across a range of blob sizes. The defaults were chosen after performance testing on various hardware and should be left as-is unless there are specific circumstances that require modification. The term in-band refers to T-SQL access through…

1

Running RBS Maintainer

We are getting some questions on this through this blog and our codeplex site and I thought that this subject needs a detailed blog post, so here is some information on running RBS maintainer.   Connection Strings   RBS maintainer takes connection strings from a CLR config file (Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.config) that is present in the same…


Multiple Blob Stores in RBS – Defaults and Explicit Store Selection

Recently I got a question on how a blob store is chosen for storing new blobs when multiple blob stores are present, and how to influence that choice. This might be of interest to many others and so I am writing this blog post. Please feel free to ask questions (using the contact features on…


RBS Garbage Collection Settings and Rationale

I recently got a question on RBS Garbage Collection settings and their usage. So I decided to write this blog post describing the different parts of GC and the associated settings.   RBS Maintainer does garbage collection (GC) in 3 phases: 1.       Reference Scan (RS) – Look through the application tables and find blobs that…


BlobId vs BlobReference, Collections

Pradeep just sent out a good description of the differences between an RBS BlobId and BlobReference token, and a quick description of the current state of the collection architecture. Both a BlobId and BlobReference are generated by RBS. The ID from the provider (called StoreBlobId) is not exposed to the application directly. The BlobId is about…

2

RBS Sample Application Released

The latest release on the RBS CodePlex sample site (http://www.codeplex.com/sqlrbs) contains a sample application demonstrating the various ways to store and fetch blobs using the RBS interface. This includes basic store / fetch, specifying collections / blob stores for store calls, use of the push and pull streaming APIs, and an example that uses the System.IO.Stream…

2

Remote Blob Storage RC0 Release

Hi, and welcome to the Remote Blob Storage team blog. This first post is to announce our client release as part of SQL Server RC0’s Feature Pack downloads, as well as point people to the RBS Samples link on CodePlex. Remote Blob Storage (RBS) is a library API set that is designed to move storage of…

3