SharePoint Server 中的 RBS 概述

 

**上一次修改主题:**2018-03-09

**摘要:**了解如何在 SharePoint Server 2016 和 SharePoint 2013 场中使用远程 Blob 存储 (RBS)。

本文介绍如何将 SharePoint Server 与远程 BLOB 存储 (RBS) 和 SQL Server 一起使用,以优化数据库存储资源。

在您实现 RBS 之前,强烈建议您评估其潜在成本和好处。有关如何在 SharePoint Server 安装中使用 RBS 的详细信息及建议,请参阅决定在 SharePoint Server 中使用 RBS

备注

除非另外指定,否则本文中的信息特定于使用 FILESTREAM 提供程序的 RBS。有关特定于其他提供程序的指南,请与提供程序制造商联系。

本文内容:

  • RBS 简介

  • RBS 提供程序

  • 将 RBS 与 SharePoint Server 一起使用

RBS 简介

在 SharePoint Server 中,二进制大型对象 (BLOB) 是存储在数据库中已知其大小和位置(而非其结构)的大型数据块 — 例如 Office 文档或视频文件。默认情况下,这些 BLOB(也称为非结构化数据)直接与相关联的元数据或结构化的数据存储在 SharePoint 内容数据库中。因为这些 BLOB 可能会非常大,所以最好将 BLOB 存储在内容数据库的外面。BLOB 是不可变的。因此,必须为该 BLOB 的每个版本都存储一个该 BLOB 的新副本。正因为如此,随着数据库的使用率的增加,BLOB 数据的总大小会快速攀升并超过文档元数据以及存储在数据库中其他结构化的数据的总大小。BLOB 数据会占用大量空间,并使用针对数据库访问模式进行了优化的服务器资源。因此,这会有助于将 BLOB 数据移出 SQL Server 数据库并放置在商品或内容寻址存储空间中。若要执行此操作,可以使用 RBS。

RBS 是经过合并的一个 SQL Server 库 API 集,它作为一个外接程序功能包,可在你安装以下内容时将其进行安装:

  • SQL Server 2014 Service Pack 1 (SP1)

  • SQL Server 2014

  • SQL Server 2012

  • SQL Server 2008 R2 Express

  • SQL Server 2008 R2

  • SQL Server 2008

RBS 功能使应用程序(例如,SharePoint Server)能够将 BLOB 存储在内容数据库外部的某个位置。在外部存储 BLOB 可降低对 SQL Server 数据库存储空间的需求量。每个 BLOB 的元数据存储在 SQL Server 数据库中,而 BLOB 存储在 RBS 存储中。

SharePoint Server 使用 RBS 功能将 BLOB 存储在内容数据库的外部。SQL Server 和 SharePoint Server 以每个数据库为基础,共同管理数据库记录与 RBS 外部存储的内容之间的数据完整性。

RBS 由以下组件构成:

  • RBS 客户端库

    RBS 客户端库包含一个对 BLOB 存储与 SharePoint Server、SQL Server 和 RBS 提供程序组件进行协调的托管库。

  • 远程 BLOB 存储提供程序

    RBS 提供程序包含一个托管库以及可选的一组与 BLOB 存储进行通信的本机库。

    RBS 提供程序的一个示例是 SQL FILESTREAM 提供程序。SQL FILESTREAM 提供程序是 SQL Server 2014 Service Pack 1 (SP1) 的一个外接程序功能,它通过结合使用 SQL Server 2014 (SP1) 和 NTFS 文件系统,允许存储并高效地访问 BLOB 数据。有关 FILESTREAM 的详细信息,请参阅 FILESTREAM (SQL Server) 有关如何启用和配置 FILESTREAM 的信息,请参阅启用和配置 FILESTREAM

  • BLOB 存储

    BLOB 存储是用于存储 BLOB 数据的实体。它可以是内容可寻址的存储 (CAS) 解决方案、支持服务器消息块 (SMB) 的文件服务器或 SQL Server 数据库。

RBS 提供程序

RBS 使用提供程序 连接到使用 RBS API 的任何专用 BLOB 存储。SharePoint Server 通过此类提供程序来使用 RBS API,从而支持可访问 BLOB 数据的 BLOB 存储实现。存在两种类型的 RBS 提供程序:本地和远程。

RBS 提供程序存储 BLOB 数据的位置取决于您使用的提供程序。如果是 FILESTREAM 提供程序,则数据不会存储在 .mdf 文件中,而是存储在与数据库关联的另一文件夹中。

本地 RBS 提供程序

本地提供程序将 BLOB 存储在数据库外部,但仍存储在运行 SQL Server 的相同服务器上。您可通过使用本地 RBS FILESTREAM 提供程序将提取的 BLOB 数据放置在不同的(即,资源利用率较少的)本地磁盘上来节省资源。由于 BLOB 与元数据存储在相同的文件组中,因此可以使用 SharePoint Server 功能,例如,管理中心 中的备份和还原功能。

RBS FILESTREAM 提供程序是安装 SQL Server 2014 Service Pack 1 (SP1) 后可用的加载项。RBS FILESTREAM 提供程序使用 SQL Server FILESTREAM 功能,将 BLOB 存储在其他资源中,此资源附加到同一数据库,且存储在本地服务器上。FILESTREAM 功能可使用基础 NTFS 文件系统在 SQL 数据库中管理 BLOB。

重要

本地 FILESTREAM 提供程序仅在用于本地硬盘驱动器或连接的 Internet 小型计算机系统接口 (iSCSI) 设备时才受支持。无法在远程存储设备(如网络附加存储 (NAS))上使用本地 RBS FILESTREAM 提供程序。

远程 RBS 提供程序

远程 RBS 提供程序将 BLOB 存储在单独的服务器上。这通常位于数据库服务器所在的同一网络的其他卷上。

由于 BLOB 与元数据未存储在相同的文件组中,因此,一些 SharePoint Server 功能(例如,管理中心的备份和还原功能)无法与远程 RBS 提供程序一起使用。必须将元数据和 BLOB 分开管理。有关能够与提供程序一起使用的功能的详细信息,请与提供程序制造商联系。

将 RBS 与 SharePoint Server一起使用

SharePoint Server 2016 支持包含在 SQL Server 2014 (SP1) 中的 FILESTREAM 提供程序。此版本的 RBS 包含在 SQL Server 安装媒体中,但不通过 SQL Server 安装程序进行安装。

SharePoint 2013 支持 SQL Server 2008 R2 功能包中提供的 SQL Server 远程 BLOB 存储安装包、SQL Server 2012 和 SQL Server 2014 中的 FILESTREAM 提供程序。这些版本的 RBS 在下列位置提供。

请注意,SQL Server 2014 的 SQL Server 远程 Blob 存储安装包是 SharePoint Server 2016 唯一支持的 RBS 版本。SQL Server 2008 R2 功能包中提供的 SQL Server 远程 BLOB 存储安装包 及更高版本是 SharePoint 2013 唯一支持的 RBS 版本。更低版本不受支持。也可以将第三方 RBS 提供程序与 RBS API 结合使用,以创建与 SharePoint Server 兼容的 BLOB 存储解决方案。

在 SharePoint Server 中,网站集备份和存储以及网站导入或导出将会下载文件内容,并将其上载回服务器,而不考虑使用的是哪个 RBS 提供程序。此过程称为深层复制。但是,FILESTREAM 提供程序是 SharePoint Server服务器场数据库备份和还原操作当前所支持的唯一提供程序。

若要使用 RBS,则您必须在安装了 SharePoint Server 的每台服务器上以及拓扑中的每台数据库服务器上安装一个 RBS 提供程序。该提供程序包括一组实现 RBS API 的方法并执行将 BLOB 外部化的实际操作的 DLL。

备注

如果在 SharePoint Server 应用程序服务器上运行的 Visio Web 服务没有安装 RBS 提供程序,则在尝试从该服务器打开 Visio 关系图时发生 Visio 错误。如果想要在该服务器上打开 Visio 关系图,则必须在运行 Visio Graphics Service 的 SharePoint Server 服务器上安装 RBS 客户端。

**SharePoint Server 2016:**若要在远程服务器上运行 RBS,则必须在运行 SQL Server 的服务器(其中,元数据存储在数据库中)上运行 SQL Server 2014 (SP1) Enterprise。

如果您计划将 BLOB 数据存储在不同于您的 SharePoint Server 2016 内容数据库的 RBS 存储中,则必须运行 SQL Server 2014 (SP1)。这一点对于所有 RBS 提供程序均适用。

**SharePoint Server 2013:**若要在远程服务器上运行 RBS,则必须在运行 SQL Server 的服务器(其中,元数据存储在数据库中)上运行 SQL Server 2008 R2、SQL Server 2012 或 SQL Server 2014 Enterprise。

如果您计划将 BLOB 数据存储在不同于您的 SharePoint 2013 内容数据库的 RBS 存储中,则必须运行 SQL Server 2008 SP1 和累积更新 2、SQL Server 2012 或 SQL Server 2014。这一点对于所有 RBS 提供程序均适用。

建议用来将内容数据库超过 4 GB 的 Windows SharePoint Services 3.0 的独立安装升级到 SharePoint 2013 的 FILESTREAM 提供程序会将数据与当前的内容数据库本地关联,不需要 SQL Server Enterprise。

重要

尽管 RBS 可用于在外部存储 BLOB 数据,但不支持通过使用 SharePoint Server 以外的任何工具或产品访问或更改这些 BLOB。所有访问只能通过使用 SharePoint Server进行。

See also

二进制大型对象 (Blob) 数据 (SQL Server)
FILESTREAM (SQL Server)
远程 BLOB 存储提供程序库实现规范
在 SharePoint 2013 和 SQL Server 2012 中安装和配置 RBS