安装和配置 RBS (SharePoint Foundation 2010)

 

适用于: SharePoint Foundation 2010

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

本文介绍如何为支持 Microsoft SharePoint Foundation 2010 服务器场的 Microsoft SQL Server 2008 R2 Express 数据库服务器安装和配置远程 BLOB 存储 (RBS)。

重要

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)。

提示

此解决方案使用 SQL Server 2008 R2 Express 附带的 FILESTREAM RBS 提供程序。

若要使用 RBS,您必须执行下列操作:

  • 在数据库服务器上启用 FILESTREAM - 默认情况下,已安装但未启用 FILESTREAM 组件。

  • 为每个内容数据库设置 BLOB 存储 - BLOB 存储是其中的 BLOB 数据存储在文件系统上的文件夹。您必须为要对其使用 RBS 的每个内容数据库设置 BLOB 存储。

  • 在每台 Web 服务器上安装 RBS 客户端库 - RBS 客户端库将 BLOB 数据存储在文件系统中,启用保真度检查并执行其他任务。

  • 为每个内容数据库启用 RBS - 您必须为要对其使用 RBS 的每个内容数据库启用 RBS。

  • 测试 RBS 安装

用于执行本文中所述过程的用户帐户必须具有以下成员资格:

  • Web 服务器和应用程序服务器上的 Administrators 组。

  • 运行 SQL Server 2008 R2 Express 的计算机上的 SQL Server dbcreatorsecurityadmin 固定服务器角色。

在数据库服务器上启用 FILESTREAM

默认情况下,FILESTREAM 功能已在您安装 SQL Server 2008 Express 时安装,但未启用它。您必须在运行 SQL Server 2008 R2 Express(承载 SharePoint Foundation 2010 数据库)的计算机上启用并配置 FILESTREAM。若要启用并配置 FILESTREAM,请按照如何启用 FILESTREAM (https://go.microsoft.com/fwlink/?linkid=166110&clcid=0x804) 中的说明进行操作。只需为要在其中使用 RBS 的每个数据库服务器启用一次 FILESTREAM。

为每个内容数据库设置 BLOB 存储

启用并配置 FILESTREAM 之后,请按照以下过程所述在文件系统中设置 BLOB 存储。必须为每个内容数据库设置 BLOB 存储。

设置 BLOB 存储

  1. 依次单击“开始”、“所有程序”、“Microsoft SQL Server 2008”和“SQL Server Management Studio”。

  2. 连接到承载内容数据库的 SQL Server 的实例。

  3. 展开“数据库”。

  4. 单击要为其创建 BLOB 存储的内容数据库,然后单击“新建查询”。

  5. 将以下 SQL 查询粘贴在“查询”窗格中,然后按列出顺序执行它们。在每一例中,将 [WSS_Content] 替换为内容数据库名称,将 c:\BlobStore 替换为要在其中创建 BLOB 存储的卷\目录。设置过程将在您指定的位置创建文件夹。请注意,您只能设置一次 BLOB 存储。如果您尝试多次设置同一 BLOB 存储,则将收到错误。

    提示

    为了获得最佳性能以及简化疑难解答,作为一种普通的最佳实践,我们建议您在不包含操作系统、页面文件、数据库数据、日志文件或 tempdb 文件的卷上创建 BLOB 存储。

    use [WSS_Content]
    if not exists 
    (select * from sys.symmetric_keys 
    where name = N'##MS_DatabaseMasterKey##')
    create master key encryption by password = N'Admin Key Password !2#4'
    
    use [WSS_Content]
    if not exists 
    (select groupname from sysfilegroups 
    where groupname=N'RBSFilestreamProvider')
    alter database [WSS_Content]
    add filegroup RBSFilestreamProvider contains filestream
    
    use [WSS_Content] 
    alter database [WSS_Content]
     add file (name = RBSFilestreamFile, filename = 
    'c:\Blobstore') 
    to filegroup RBSFilestreamProvider
    

在每台 Web 服务器上安装 RBS 客户端库

您必须在 SharePoint 场中的所有 Web 服务器上安装 RBS 客户端库。仅为每台 Web 服务器安装一次 RBS 客户端库,但单独为每个关联的内容数据库配置 RBS。客户端库包括一个链接到用户应用程序的客户端动态链接库 (DLL) 和一组安装在 SQL Server 上的存储过程。

警告

请不要通过运行 RBS_x64.msi 文件并启动“安装 SQL 远程 BLOB 存储”向导来安装 RBS 客户端库。该向导所设置的某些默认值并不是为 SharePoint Foundation 2010 建议的。

在第一台 Web 服务器上安装 RBS 客户端库

  1. 在任何 Web 服务器上,浏览到 https://go.microsoft.com/fwlink/?linkid=165839&clcid=0x804 并下载 RBS_x64.msi 文件。

  2. 单击“开始”,再单击“运行”,并在“运行”文本框中键入 cmd,然后单击“确定”。

  3. 将以下命令复制并粘贴到命令提示符窗口中。将 WSS_Content 替换为数据库名称,将 DBInstanceName 替换为 SQL Server 实例名称。您只应使用特定数据库名称和 SQL Server 实例名称运行一次此命令。此操作应大约在一分钟内完成。

    msiexec /qn /lvx* rbs_install_log.txt /i RBS-x64.msi TRUSTSERVERCERTIFICATE=true FILEGROUP=PRIMARY DBNAME="WSS_Content" DBINSTANCE="DBInstanceName" FILESTREAMFILEGROUP=RBSFilestreamProvider FILESTREAMSTORENAME=FilestreamProvider_1
    

在所有其他 Web 服务器和应用程序服务器上安装 RBS 客户端库

  1. 在 Web 服务器上,从 https://go.microsoft.com/fwlink/?linkid=165839&clcid=0x804 下载 RBS_x64.msi。

  2. 单击“开始”,再单击“运行”,并在“运行”文本框中键入 cmd,然后单击“确定”。

  3. 将以下命令复制并粘贴到命令提示符窗口中。将 WSS_Content 替换为数据库名称,将 DBInstanceName 替换为 SQL Server 实例名称。此操作应大约在一分钟内完成。

    msiexec /qn /lvx* rbs_install_log.txt /i RBS-x64.msi DBNAME="WSS_Content" DBINSTANCE="DBInstanceName" ADDLOCAL=Client,Docs,Maintainer,ServerScript,FilestreamClient,FilestreamServer
    
  4. 为 SharePoint 场中的所有 Web 服务器和应用程序服务器重复此过程。

确认 RBS 客户端库安装

  1. rbs_install_log.txt 日志文件的创建位置与 RBS_x64.msi 文件的所在位置相同。请使用文本编辑器打开 rbs_install_log.txt 日志文件并向文件底部滚动。在文件末尾的最后 20 行内,应该会有一项显示以下内容:“产品: SQL 远程 Blob 存储 – 已成功完成安装”。

  2. 在运行 SQL Server 2008 Express 的计算机上,验证是否在内容数据库中创建了 RBS 表。一些表应列在名称前面有字母“mssqlrbs”的内容数据库下。

为每个内容数据库启用 RBS

您必须在 SharePoint 场中的一台 Web 服务器上启用 RBS。执行此活动时,选择哪一台 Web 服务器并不重要,只要使用上面的过程在该服务器上安装了 RBS 即可。您必须为每个内容数据库执行一次此过程。

备注

只能使用 Windows PowerShell 启用 RBS。

使用 Windows PowerShell 启用 RBS

  1. 确认您满足以下最低要求:请参阅 Add-SPShellAdmin

  2. 在“开始”菜单上,单击“所有程序”。

  3. 单击“Microsoft SharePoint 2010 产品”。

  4. 单击“SharePoint 2010 Management Shell”。

  5. 在 Windows PowerShell 命令提示符处,键入以下命令:

    $cdb = Get-SPContentDatabase <ContentDatabaseName>
    $rbss = $cdb.RemoteBlobStorageSettings
    $rbss.Installed()
    $rbss.Enable()
    $rbss.SetActiveProviderName($rbss.GetProviderNames()[0])
    $rbss
    

    其中:

    • <ContentDatabaseName> 是内容数据库的名称。

有关详细信息,请参阅 Get-SPContentDatabase

测试 RBS 安装

您应测试 SharePoint 场中的一台 Web 服务器上的 RBS 安装以确保系统正确运行。

测试 RBS 数据存储

  1. 在包含 RBS 数据存储的计算机上,单击“开始”,然后单击“计算机”。

  2. 浏览到 RBS 数据存储目录。

  3. 确认该文件夹为空。

  4. 在 SharePoint 场中,将至少为 100 KB 的文件上载到文档库。

  5. 在包含 RBS 数据存储的计算机上,单击“开始”,然后单击“计算机”。

  6. 浏览到 RBS 数据存储目录。

  7. 浏览到文件列表,并打开修改日期最近的文件。此文件应该是您上载的文件。

See Also

Concepts

RBS 概述 (SharePoint Foundation 2010)
规划 RBS (SharePoint Foundation 2010)

Other Resources

如何:启用 FILESTREAM
资源中心:SharePoint Foundation 2010 的安装和部署