首页 > 代码库 > SharePoint 2013 使用 RBS 功能将二进制大型对象 BLOB 存储在内容数据库外部。

SharePoint 2013 使用 RBS 功能将二进制大型对象 BLOB 存储在内容数据库外部。

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

 

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

设置 BLOB 存储
  1. 确认执行这些步骤的用户帐户是要为其配置 RBS 的每个数据库上 db_owner 固定数据库角色的成员。

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

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

  4. 展开“数据库”。

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

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

在第一台 Web 服务器上安装 RBS 客户端库
  1. 确认执行这些步骤的用户帐户是安装该库的计算机上 管理员 组的成员。

  2. 在任何 Web 服务器上,浏览到 http://go.microsoft.com/fwlink/p/?LinkId=271938 并下载 RBS_amd64.msi 文件。

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

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

     
    复制
    msiexec /qn /lvx* rbs_install_log.txt /i RBS_amd64.msi TRUSTSERVERCERTIFICATE=true FILEGROUP=PRIMARY DBNAME="WSS_Content" DBINSTANCE="DBInstanceName" FILESTREAMFILEGROUP=RBSFilestreamProvider FILESTREAMSTORENAME=FilestreamProvider_1
    
在所有其他 Web 服务器和应用程序服务器上安装 RBS 客户端库
  1. 确认执行这些步骤的用户帐户是安装该库的计算机上 管理员 组的成员。

  2. 在任何 Web 服务器上,浏览到 http://go.microsoft.com/fwlink/p/?LinkId=271938 并下载 RBS_amd64.msi 文件。

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

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

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

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

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

为每个内容数据库启用 RBS

 

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

技术分享注意:
只能使用 Windows PowerShell 启用 RBS。
使用 Windows PowerShell 启用 RBS
  1. 确认您满足以下最低要求:请参阅 Add-SPShellAdmin。

  2. 启动 SharePoint 2013 命令行管理程序。

    • 对于 Windows Server 2008 R2:

      • 在“开始”菜单上,单击“所有程序”,单击“Microsoft SharePoint 2013 产品”,然后单击“SharePoint 2013 命令行管理程序”。

    • 对于 Windows Server 2012:

      1. 在“开始”菜单上,单击“SharePoint 2013 命令行管理程序”。

        如果“开始”\屏幕上未显示“SharePoint 2013 命令行管理程序”,则:

      2. 右键单击“计算机”,单击“所有应用程序”,然后单击“SharePoint 2013 命令行管理程序”。

    有关如何与 Windows Server 2012 进行交互的详细信息,请参阅 Windows Server 2012 中的常见管理任务和导航。

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

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

     

    其中:

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

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

向 Web 应用程序分配 db_owner 权限

 

技术分享重要说明:
确保访问启用 RBS 的内容数据库的 Web 应用程序是该数据库的 db_owner 固定数据库角色的成员。

测试 RBS 安装

 

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

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

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

  3. 确认该文件夹为空。

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

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

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

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

SharePoint 2013 使用 RBS 功能将二进制大型对象 BLOB 存储在内容数据库外部。