RBS 概述 (SharePoint Foundation 2010)

 

适用于: SharePoint Foundation 2010

上一次修改主题: 2016-11-30

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

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

备注

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

本文内容:

  • RBS 简介

  • RBS 提供程序

  • 将 RBS 与 SharePoint 2010 产品一起使用

RBS 简介

在 SharePoint Foundation 2010 中,二进制大型对象 (BLOB) 是存储在数据库中的大型数据块,这些数据块的大小和位置(而非结构)是已知的(例如,Microsoft Office 2010 文档或视频文件)。默认情况下,这些 BLOB(也称为“非结构化数据”)将与关联的元数据或非结构化数据一起直接存储在 SharePoint 内容数据库中。由于这些 BLOB 可以非常大,因此,将 BLOB 存储在内容数据库外部可能会更好。BLOB 是不可变的。相应地,必须为 BLOB 的每个版本存储新的 BLOB 副本。因此,随着数据库使用率的增加,其 BLOB 数据的总计大小可能会快速增长,并超过在数据库中存储的文档元数据和其他结构化数据的总计大小。BLOB 数据会占用大量空间并将使用针对数据库访问模式优化的服务器资源。因此,将 BLOB 数据从 SQL Server 数据库移出到商品或内容可寻址的存储会很有帮助。为此,可以使用 RBS。

RBS 是一个 Microsoft SQL Server 库 API 集,并已合并为 Microsoft SQL Server 2008 R2、SQL Server 2008 或 Microsoft SQL Server 2008 R2 Express 的外接程序功能包。RBS 功能使应用程序(例如,SharePoint Foundation 2010)能够将 BLOB 存储在内容数据库外部的某个位置。在外部存储 BLOB 可降低对 SQL Server 数据库存储空间的需求量。每个 BLOB 的元数据库存储在 SQL Server 数据库中,而 BLOB 存储在 RBS 存储中。

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

RBS 由以下组件构成:

  • RBS 客户端库

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

  • 远程 BLOB 存储提供程序

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

    RBS 提供程序的一个示例是 SQL FILESTREAM 提供程序。SQL FILESTREAM 提供程序是 SQL Server 2008 Express 的一个功能,它通过结合使用 SQL Server 2008 Express 和 NTFS 文件系统,允许存储并高效地访问 BLOB 数据。有关 FILESTREAM 的详细信息,请参阅 FILESTREAM 概述 (https://go.microsoft.com/fwlink/?linkid=166020&clcid=0x804) 和 SQL Server 2008 中的 FILESTREAM 存储(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=165746&clcid=0x804)(该链接可能指向英文页面)。

  • BLOB 存储

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

RBS 提供程序

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

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

本地 RBS 提供程序

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

RBS FILESTREAM 提供程序是通过 Microsoft SQL Server 2008 R2 功能包中提供的 SQL Server 远程 BLOB 存储安装包 提供的。RBS FILESTREAM 提供程序使用 SQL Server FILESTREAM 功能将 BLOB 存储在附加到同一数据库并存储在本地服务器上的其他资源中。FILESTREAM 功能可使用基础 NTFS 文件系统管理 SQL 数据库中的 BLOB。

重要

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

远程 RBS 提供程序

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

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

将 RBS 与 SharePoint 2010 产品一起使用

SharePoint Foundation 2010 支持 SQL Server 2008 R2 功能包中提供的 SQL Server 远程 BLOB 存储安装包功能包中的 SQL Server 远程 BLOB 存储安装包中包含的 FILESTREAM 提供程序。此版本的 RBS 在 Microsoft® SQL Server® 2008 R2 功能包 (https://go.microsoft.com/fwlink/?linkid=177388&clcid=0x804)。请注意,这是 SharePoint Foundation 2010 支持的唯一 RBS 版本。不支持早期版本。也可以将第三方 RBS 提供程序与 RBS API 结合使用,以创建与 SharePoint Foundation 2010 兼容的 BLOB 存储解决方案。

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

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

若要在远程服务器上运行 RBS,则您必须在运行 SQL Server 的服务器(其中,元数据存储在数据库中)上运行 SQL Server 2008 R2 Enterprise。

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

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

重要

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

在 Windows SharePoint Services 3.0 的独立安装中,内容数据库存储在 Windows 内部数据库 中且没有大小限制。相反,在 SharePoint Foundation 2010 中,内容数据库存储在 SQL Server 2008 Express 中,每个数据库最大大小为 4 GB。

SQL Server 2008 R2 Express 最多支持大小为 10 GB 的数据库。如果安装包含的数据库大于 4 GB 且小于 10 GB,建议您为内容数据库存储升级到 SQL Server 2008 R2 Express。SQL Server 2008 R2 Express 是可从 Microsoft® SQL Server® 2008 R2 功能包 (https://go.microsoft.com/fwlink/?linkid=177388&clcid=0x804)。

如果从 Windows SharePoint Services 3.0 进行升级,并且内容数据库大于或等于 10 GB,则必须实现 RBS。或者,可以使用 Microsoft SQL Server 2008 Standard 或 Microsoft SQL Server 2008 Enterprise。

有关如何从 Windows SharePoint Services 3.0 升级到 SharePoint Foundation 2010 以及有关 RBS 的其他指南,请参阅当内容数据库超过 4 GB(远程 BLOB 存储)时,从 Windows SharePoint Services 3.0 的独立安装升级到 SharePoint Foundation 2010

See Also

Other Resources

FILESTREAM 概述
SQL Server 2008 中的 FILESTREAM 存储(该链接可能指向英文页面)
远程 BLOB 存储提供程序库实现规范(该链接可能指向英文页面)