zoukankan      html  css  js  c++  java
  • SharePoint 2013 RBS(Remote BLOB Storag) 安装、部署、垃圾回收

    示例采用sql server 2012 数据库。系统 windows 2008R2 SP1 。

    一、启用FilesStream

    打开Sql server 2012 的“配置工具”,然后打开“Sql Server 配置管理器”,选择“Sql Server 服务”,找到“SQL Server (MSSQLSREVER)”,右击“属性”,找到“FILESSTREAM”栏,操作如图:

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

    1
    2
    EXEC sp_configure filestream_access_level, 2 
    RECONFIGURE

    二、为SharePoint的内容数据库加增加主密钥

    1
    2
    3
    4
    use [WSS_Content] 
    if not exists (select from sys.symmetric_keys where name 
    N'##MS_DatabaseMasterKey##'create master key encryption by password 
    N'输入密码'

    三、为该内容数据库增加FILESTREAM文件组和文件

    1
    2
    3
    4
    5
    6
    7
    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:lobstore'to filegroup RBSFilestreamProvider

    四、安装RBS

    1、可通过直接执行RBS_X64.msi文件来安装程序,官方下载Sql Server2013 RBS.msi

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

    select * from dbo.sysobjects where name like 'rbs%'

    五 启用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()

    六、垃圾回收机制

    这篇文章已经说得很好了,可以点击阅读

    我强调几点:

    1. 通常我们删除文档,并非真的删除,而是保存在SharePoint回收站里,回收站有两层,一层是用户操作,可以删除或者还原,跟PC 电脑差不多;第二层是网站集回收站,一般需要管理员才能操作,这层删除后,文件就不能通过sharepoint 还原了。

    2. 垃圾回收是一个持续缓慢的过程,可以隔段时间查看存放文件的文件夹大小来判断。

    七、卸载RMS 

    1、SharePoint中卸载

    $cdb=Get-SPContentDatabase <ContentDbName>

    $rbs=$cdb.RemoteBlobStorageSettings

    $rbs.GetProviderNames()

    $rbs.SetActiveProviderName("")

    $rbs.Migrate()

    $rbs.Disable()

    2、管理员方式运行CMD,启动回收

    C:Program FilesMicrosoft SQL Remote Blob Storage 11.0MaintainerMicrosoft.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")

    现在你可以删除文件和文件流filegroup:

    ALTER DATABASE yourdbname Remove file RBSFilestreamFile;

    ALTER DATABASE yourdbname REMOVE FILEGROUP RBSFilestreamProvider;

  • 相关阅读:
    网络测量中基于Sketch方法的简单介绍
    Reading SBAR SDN flow-Based monitoring and Application Recognition
    Reading Meticulous Measurement of Control Packets in SDN
    Reading SketchVisor Robust Network Measurement for Sofeware Packet Processing
    ovs加dpdk在日志中查看更多运行细节的方法
    后缀数组
    (转载)LCA问题的Tarjan算法
    Codeforces Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) A. Checking the Calendar(水题)
    Vijos 1816统计数字(计数排序)
    卡特兰数
  • 原文地址:https://www.cnblogs.com/ningang/p/4299809.html
Copyright © 2011-2022 走看看