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;

  • 相关阅读:
    团队冲刺-1
    最优惠购买书籍
    gogoing软件NABCD
    二维数组首尾相连
    首尾相连一维数组的最大子数组和
    二维数组返回最大子矩阵之和
    石家庄铁道大学基础教学楼电梯使用调查
    子数组最大值求和
    返回一个整数数组中最大子数组的和-课堂训练(子数组为连续)
    软件工程概论-四则运算
  • 原文地址:https://www.cnblogs.com/ningang/p/4299809.html
Copyright © 2011-2022 走看看