远程 Blob 存储区 (RBS) (SQL Server)

SQL Server 远程 BLOB 存储区 (RBS) 是一个可选的附加组件,它允许数据库管理员在商用存储解决方案中存储二进制大型对象,而不是直接存储在主数据库服务器上。

RBS 包含在 SQL Server 2014 安装介质上,但SQL Server安装程序未安装。

有关 RBS 的详细信息,请参阅本主题中的 RBS 资源

RBS 的优点

RBS 具有以下优点:

优化的数据库存储和性能

在数据库中存储 BLOB 可能会占用大量文件空间和昂贵的服务器资源。 RBS 高效地将 BLOB 传输到您选择的专用存储解决方案,在数据库中存储对 BLOB 的引用。 这样可以释放服务器存储空间用于结构化数据,释放服务器资源用于进行数据库操作。

高效管理 BLOB

几项 RBS 功能支持对存储的 BLOB 进行方便的管理:

  • BLOB 是通过 ACID(原子性、一致性、隔离性和持久性)事务管理的。

  • BLOB 组织成集合。

  • 包括垃圾收集、一致性检查和其他维护功能。

标准化 API

RBS 定义一组 API,可为应用程序提供用于访问和修改任何 BLOB 存储的标准化编程模型。 每个 BLOB 存储区都可以指定自己的提供程序库,该库嵌入 RBS 客户端库,指定存储和访问 BLOB 的方式。

许多第三方存储解决方案供应商都开发了符合这些标准 API、在不同存储平台上支持 BLOB 存储的 RBS 提供程序。

RBS 要求

对于存储 BLOB 元数据的主数据库服务器,RBS 要求安装有 SQL Server Enterprise。 但是,如果使用提供的 FILESTREAM 提供程序,则可以在 SQL Server Standard 上存储 BLOB 本身。

RBS 包括 FILESTREAM 提供程序,因此,您可以使用 RBS 在 SQL Server的实例上存储 BLOB。 如果要使用 RBS 在其他存储解决方案中存储 BLOB,则必须使用为该存储解决方案开发的第三方 RBS 提供程序,或者使用 RBS API 开发自定义 RBS 提供程序。 Codeplex上以学习资源的形式提供了在 NTFS 文件系统中存储 BLOB 的示例提供程序。

RBS 安全性

使用自定义提供程序将 BLOB 存储在 SQL Server 之外时,它们可能可用于绕过SQL Server安全系统的其他进程。 请确保您使用适合于自定义提供程序所使用的存储介质的权限和加密选项保护存储的 BLOB。

RBS 资源

RBS 文档
RBS 文档包括在 Windows 安装程序包中。 如果要在不安装 RBS 的情况下查看 RBS 文档,可以在 MSDN 库中联机查看文档的 SQL Server 2008 R2 版本。

RBS 白皮书
你可以下载 Microsoft Word 文档格式的白皮书“远程 BLOB 存储区”,它提供有关安装和配置 RBS 的详细信息。

RBS 示例
Codeplex 上提供的 RBS 示例演示如何开发 RBS 应用程序,如何开发和安装自定义 RBS 提供程序。

RBS 博客
RBS 博客 提供可帮助你理解、部署和维护 RBS 的其他信息。