在SharePoint 2010中部署RBS (转)

在SharePoint 2010中部署RBS (转)

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

一、RBS(Remote BLOB Storage)简单介绍

  在SharePoint的大部分企业应用案例中,SharePoint都是要承担着非常繁重的文件管理工作,这些文件类型包含了Word文档,Excel文档甚至是数据量庞大的音频、视频文件。对于这些文件,SharePoint默认都是将它们以BLOB的数据形式存储在内容数据库其中。这就非常easy导致SharePoint的数据库容量被这些BLOB数据所高速消耗,并且用户在使用SharePoint进行文件的管理的时候,须要频繁地对这些大数据量的BLOB数据进行读写訪问,非常easy在SQL端造成性能瓶颈。

  针对这一问题,MOSS 2007在SP1之后提供了ISPExternalBinaryProvider接口,用户能够通过这个接口开发自己定义应用,将BLOB数据存储在Content DB之外,以降低SQL Server的负载。而在SharePoint 2010中,能够使用SQL Server 2008及其以上版本号提供的Remote Blob Storage (RBS) 这一新特性。通过RBS内置的FILESTREAM Provider,我们仅仅须要通过简单的配置,就能够将BLOB数据存储在文件系统其中或者是存储在其它专门用于存储BLOB数据的server上面,全然不须要做进行开发。同一时候,这些存储在文件系统其中的BLOB数据还能够接受数据库的事务管理,可进行数据备份以及数据恢复。

在SharePoint 2010中部署RBS (转)

RBS将SharePoint 中的BLOB数据分离存储

  可见,RBS在不减少数据的可管理性的同一时候,还能为我们提高SharePoint数据服务的性能以及可拓展性,无疑是企业在部署SharePoint时一项不可缺少的工具。下文将主要介绍怎样进行RBS的安装,怎样启用RBS的垃圾文件回收,以及怎样卸载RBS。

二、安装RBS

  通过RBS中自带的FILESTREAM Provider,我们能够将SharePoint中的BLOB文件保存在本地的文件系统中,也能够通过远程的数据库server将这些数据保存在其它的文件系统中。

  A. BLOB保存在本地文件系统

  1. 通过SQL Server Configuration Manager,启用数据库的FileStream特性。然后通过下面语句,设置fielstream的可訪问级别。

    EXEC sp_configure filestream_access_level, 2
    RECONFIGURE

  2. 为SharePoint的内容数据库加添加�主密钥

    use [WSS_Content]
    if not exists (select * from sys.symmetric_keys where name =
    N’##MS_DatabaseMasterKey##’) create master key encryption by password =
    N’ password01′

  3. 为该内容数据库添加�FILESTREAM文件组和文件

    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

  4. 安装RBS,可通过直接运行RBS_X64.msi文件来安装程序,数据库连接截图例如以下:

    在SharePoint 2010中部署RBS (转)

    在SharePoint 2010中部署RBS (转)

    也能够CMD运行下面命令来进行安装:

    msiexec /qn /lvx* rbs_install_log.txt /i RBS_X64.msi TRUSTSERVERCERTIFICATE=true FILEGROUP=PRIMARY DBNAME=”WSS_Content” DBINSTANCE=”sp2010” FILESTREAMFILEGROUP=RBSFilestreamProvider FILESTREAMSTORENAME=FilestreamProvider_1

    通过以下语句检查是否成功安装

    select * from dbo.sysobjects where name like ‘rbs%’

  5. 在SharePoint的Power Shell中启用RBS

    $cdb = Get-SPContentDatabase “WSS_Content”

    $rbss = $cdb.RemoteBlobStorageSettings
    $rbss.Installed()
    $rbss.Enable()
    $pvdName = $rbss.GetProviderNames()[0]
    $rbss.SetActiveProviderName($pvdName)

    $rbss.Migrate()//该命令能够将SharePoint内容数据库中原有的BLOB迁移到文件系统中

    $rbss.MinimumBlobStorageSize = 1048000 //该命令用于设置存于文件系统中的文件最小值,当文件小于该值的时候,将还是照常保存在数据库中。

    $cdb.Update()

  B. BLOB保存在远程文件系统

要想通过RBS FILESTREAM Provider将BLOB保存在远程的文件系统中,基本过程和保存在本地文件系统过程相似,但还必须保证两个前提,一个是SharePoint数据库和远程数据库的版本号都必须使用企业版或开发人员版,还有一个是这两台server必须保证存储在同一个域环境中,以保证SharePoint的系统管理员可以通过Windows身份认证连接上远程的数据库。

  1. 通过SQL Server Configuration Manager,启用远程数据库的FileStream特性。然后通过下面语句,设置fielstream的可訪问级别。

    EXEC sp_configure filestream_access_level, 2
    RECONFIGURE

  2. 为SharePoint的内容数据库和远程数据库都加添加�主密钥

    if not exists (select * from sys.symmetric_keys where name =
    N’##MS_DatabaseMasterKey##’) create master key encryption by password =
    N’password01!’

  3. 为该远程的数据库添加�FILESTREAM文件组和文件

    use [Remote_Content]
    if not exists (select groupname from sysfilegroups where
    groupname=N’RBSFilestreamProvider’) alter database [WSS_Content]
    add filegroup RBSFilestreamProvider contains filestream

    use [Remote _Content]
    alter database [WSS_Content] add file (name = RBSFilestreamFile,
    filename = ‘c:\blobstore’) to filegroup RBSFilestreamProvider

  4. 安装RBS,通过直接运行RBS_X64.msi,截图例如以下:

    在SharePoint 2010中部署RBS (转)

    在SharePoint 2010中部署RBS (转)

  5. 在SharePoint的Power Shell中启用RBS

    $cdb = Get-SPContentDatabase “WSS_Content”

    $rbss = $cdb.RemoteBlobStorageSettings
    $rbss.Installed()
    $rbss.Enable()
    $pvdName = $rbss.GetProviderNames()[0]
    $rbss.SetActiveProviderName($pvdName)

    $rbss.Migrate()

通过以上的步骤就完毕了将SharePoint中的BLOB文件存于文件系统的功能。我们能够在SharePoint中加入�超过1MB的文件来測试实验效果。

 

三、 启动垃圾回收

  1. 在RBS安装文件夹下的Matainer文件夹中,我们通过记事本打开Microsoft.Data.SqlRemoteBlobs.Maintainer.exe文件,以完毕垃圾回收器的配置。当中关键在于连接字符串:

    <add name =”WSS_Content_ConnStr” connectionString=”Data Source=localhost\sharepoint; Initial Catalog=WSS_Content; Integrated Security=True” providerName=”System.Data.SqlClient”/>

在SharePoint 2010中部署RBS (转)

  1. 为了立即进行清除,我们通过下面3条SQL指令将这3个时间间隔參数都设置为0。

    exec mssqlrbs.rbs_sp_set_config_value ‘delete_scan_period’,’time 00:00:00′

    exec mssqlrbs.rbs_sp_set_config_value ‘orphan_scan_period’,’time 00:00:00′

    exec mssqlrbs.rbs_sp_set_config_value ‘garbage_collection_time_window’,’time 00:00:00′

  2. 通过在CMD中找到RBS安装文件夹下的Matainer文件夹,通过运行下面的命令启动RBS文件的回收

    Microsoft.Data.SqlRemoteBlobs.Maintainer.exe -ConnectionStringName WSS_Content_ConnStr -Operation GarbageCollection -GarbageCollectionPhases rdo

  3. 强制FILESTREAM进行”垃圾收集

    CHECKPOINT

四、 卸载RBS

在使用RBS过程中,往往会因为需求的变动而进行RBS的卸载重装,假设卸载不恰当的话,往往会使得数据库中残留着一些垃圾数据,甚至会导致下一次安装无法顺利进行。所以,以下将介绍怎样对RBS进行完整的卸载。

  1. SharePoint中卸载

    $cdb=Get-SPContentDatabase <ContentDbName>

    $rbs=$cdb.RemoteBlobStorageSettings

    $rbs.GetProviderNames()

    $rbs.SetActiveProviderName(“”)

    $rbs.Migrate()

    $rbs.Disable()

  2. 启动回收

    “C:\Program Files\Microsoft SQL Remote Blob Storage 10.50\Maintainer\Microsoft.Data.SqlRemoteBlobs.Maintainer.exe” -connectionstringname RBSMaintainerConnection -operation GarbageCollection ConsistencyCheck ConsistencyCheckForStores -GarbageCollectionPhases rdo -ConsistencyCheckMode r -TimeLimit 120

  3. 点击RBS.msi安装文件以卸载RBS
  4. 在数据库中删除RBS

    exec mssqlrbs.rbs_sp_uninstall_rbs 0

    ALTER TABLE [mssqlrbs_filestream_data_1].[rbs_filestream_configuration] DROP column [filestream_value]

    ALTER TABLE [mssqlrbs_filestream_data_1].[rbs_filestream_configuration] SET (FILESTREAM_ON = “NULL”)

    Now you can remove the file and filegroup for filestream:

    ALTER DATABASE yourdbname Remove file RBSFilestreamFile;

    ALTER DATABASE yourdbname REMOVE FILEGROUP RBSFilestreamProvider;

———————————————————————————————————————————–

SharePoint 2013安装RBS

http://docshare.pingan.com.cn/sites/admin/sharepoint/eCloud/在%20SharePoint%202013%20server场中安装和配置%20RBS.mht

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118217.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Mybatis实现Oracle 分页「建议收藏」

    Mybatis实现Oracle 分页「建议收藏」Mybatis+Oracle分页1,使用mybatis的插件PageHelper(1)Mapper.xml<?xmlversion=”1.0″encoding=”UTF-8″?><!DOCTYPEmapperPUBLIC”-//mybatis.org//DTDMapper3.0//EN””http://mybatis.org/dtd/mybati…

    2022年5月28日
    301
  • MySQL时间戳与日期时间转换

    MySQL时间戳与日期时间转换MySQL日期转时间戳:UNIX_TIMESTAMP(日期时间)MySQL时间戳转日期:FROM_UNIXTIME(时间戳,日期时间格式);

    2022年6月21日
    90
  • 高斯消去法与列主元消去法

    高斯消去法与列主元消去法两种消去法在 matlab 中的实现两种消去法的实现主要是 通过函数的实现 传入参数来实现的 如有其他需要 请另行修改代码高斯消去法函数实现算法设计传入参数为矩阵 A 向量 b 以及维度 n 传出参数是运行的时间通过两个循环实现 一个是消元 一个是回代第一个循环 从第一行到第 n 1 行 对之后的每一行做消元处理 当出现了第 k 行的第 k 个元素为 0 时 说明该矩阵有无数个解 弹出错误并结束函

    2025年8月15日
    4
  • eureka 集群失败的原因_Eureka集群的那些坑

    eureka 集群失败的原因_Eureka集群的那些坑今天遇到一个Eureka集群的一个坑。问题现场类似是这样的:两台Eureka组成的服务注册中心集群,两台服务提供方server1、server2,两个服务调用方client1、client2。正常的情况下:client1和client2通过服务中心获取的服务提供方的注册的元数据信息,然后本地缓存调用server2、server1的服务API是没问题的。调用server的api服务时采用的Feign…

    2022年5月8日
    181
  • SQL语句大全大全(经典珍藏版)

    SQL语句大全大全(经典珍藏版)SQL语句大全–语句功能–数据操作SELECT–从数据库表中检索数据行和列INSERT–向数据库表添加新数据行DELETE–从数据库表中删除数据行UPDATE–更新数据库表中的数据-数据定义CREATETABLE–创建一个数据库表DROPTABLE–从数据库中删除表ALTERTABLE–修改数据库表结构CREATEVIEW

    2022年5月19日
    46
  • ffmpeg安装_vmware虚拟化集群教程

    ffmpeg安装_vmware虚拟化集群教程搭建ffmeg环境描述部署资源安装包安装步骤1.yasm安装2.ffmpeg安装后续描述1.结合网上文档以及本地虚拟机环境配置一致的测试服务器进行环境搭建,在测试的时候,强烈建议环境适用的操作系统内核与本文档保持一致,因为ffmpeg会存在内核要求,可能会由于兼容性问题导致安装不成功2.服务器操作系统以及内核为2.6.32-431.el6.x86_642013x86_64x86_64x86_64GNU/Linux,这是属于红帽的系统,系统一些必须的环境还是需要提前配置好,如JDK\MAVEN

    2022年9月25日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号