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

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

RBS 包括在 SQL Server 2012 安装介质上,但 SQL Server 2012 安装程序不安装它。

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

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 安全性

当您使用自定义提供程序在 SQL Server 外存储 BLOB 时,这些 BLOB 可能会被绕过 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 的其他信息。