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

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

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

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

RBS 的优点

RBS 具有以下优势:

优化的数据库存储和性能

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

高效管理 BLOB

多个 RBS 功能支持方便地管理存储的 BLOB:

  • BLOB 使用 ACID(原子一致性隔离持久)事务进行管理。

  • BLOBs 被组织为集合。

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

标准化 API

RBS 定义了一组 API,这些 API 为应用程序提供标准化编程模型来访问和修改任何 BLOB 存储。 每个 BLOB 存储都可以指定其专属的提供程序库,该库与 RBS 客户端库集成,并指定 BLOB 的存储和访问方式。

许多第三方存储解决方案供应商开发了符合这些标准 API 的 RBS 提供程序,并支持各种存储平台上的 BLOB 存储。

RBS 要求

RBS 需要 SQL Server Enterprise 作为存储 BLOB 元数据的主数据库服务器。 但是,如果使用提供的 FILESTREAM 提供程序,则可以将 BLOB 本身存储在 SQL Server Standard 上。

RBS 包括一个 FILESTREAM 提供程序,它允许使用 RBS 在 SQL Server 实例上存储 BLOB。 如果要使用 RBS 将 BLOB 存储在其他存储解决方案中,则必须使用为该存储解决方案开发的第三方 RBS 提供程序,或使用 RBS API 开发自定义 RBS 提供程序。 用于在 NTFS 文件系统中存储 BLOB 的示例提供程序可在 Codeplex 上作为学习资源获取。

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。