SharePoint 2013 RBS(Remote BLOB Storag) 安装、部署、垃圾回收

SharePoint 承担着文件管理的工作,默认都是将它们以BLOB的数据形式存储在内容数据库当中;当文件大时,就很容易导致数据库容量被这些BLOB数据所快速消耗,而且频繁地对这些大数据量的BLOB数据进行读写访问,很容易在SQL端造成性能瓶颈。 继MOSS2007之后,SharePoint2010和2013可以使用SQL Server 2008及其以上版本提供的Remote Blob Storage (RBS) 这一新特性,可以将BLOB数据存储在文件系统当中或者是存储在其他专门用于存储BLOB数据的服务器上面。

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

  1. 启用FilesStream:打开Sql server 2012 的“配置工具”,然后打开“Sql Server 配置管理器”,选择“Sql Server 服务”,找到“SQL Server (MSSQLSREVER)”,右击“属性”,找到“FILESSTREAM”栏,操作如图:
  2. 通过SQL Server Configuration Manager,启用数据库的FileStream特性。然后通过以下语句,设置fielstream的可访问级别:
    EXEC sp_configure filestream_access_level, 2 
    RECONFIGURE
  3. 为SharePoint的内容数据库加增加主密钥
    use [WSS_Content] 
    if not exists (select * from sys.symmetric_keys where name = 
    N'##MS_DatabaseMasterKey##') create master key encryption by password = 
    N'输入密码'
  4. 为该内容数据库增加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

     

  5. 安装RBS:可通过直接执行RBS_X64.msi文件来安装程序,官方下载Sql Server2013 RBS.msi
  6. 通过下面语句检查是否安装成功select * from dbo.sysobjects where name like 'rbs%'
  7. 启用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()

     

     

  8. 垃圾回收机制   这篇文章已经说得很好了,可以点击阅读

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

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

  10. 卸载RMS
    1. SharePoint中卸载

       

      $cdb=Get-SPContentDatabase <ContentDbName>$rbs=$cdb.RemoteBlobStorageSettings$rbs.GetProviderNames()$rbs.SetActiveProviderName("")$rbs.Migrate()$rbs.Disable()

       

       

    2. 管理员方式运行CMD,启动回收
      C:\Program Files\Microsoft SQL Remote Blob Storage 11.0\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 0ALTER 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")

       

    5. 现在你可以删除文件和文件流filegroup:
      ALTER DATABASE yourdbname Remove file RBSFilestreamFile;ALTER DATABASE yourdbname REMOVE FILEGROUP RBSFilestreamProvider;

Some question about RMB :

QUS:I have other web servers, app servers and db servers, do i need to install the rbs.msi exe on every other server in the farm , or just only the web servers and the app servers. Such as do we run that msiexec command on each server.
ANS: Best recommend is to install on all the servers

QUS:Also how does rbs work for all migrated sites or existing sites which have documents already stored.  So if we enable rbs for these sites and for files over 5 mb, would that apply to only new uploaded files over 5mb, or will apply to also already stored over 5mb files.  
ANS: 
For newly created docs no issue, docs over 5MB would automatically move
For previous docs, run below commands once you set the "minimum blob storage"
     $cdb = Get-SPContentDatabase –WebApplication <URL>
     $rbss = $cdb.RemoteBlobStorageSettings
     $rbss.Migrate()

QUS:Also does shredded storage impact the files sizes been uploaded as while, such if we configure files to be uploaded over 5 mb, will this apply to the files over this limit or does the files have to be much larger than 5 MB, such 8 or 9 mb have the rbs applied to them.
 

 

https://blogs.technet.microsoft.com/pramodbalusu/2011/07/08/rbs-and-sharepoint-2010/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/439348.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Processing 闪烁的圆 动画效果

打开Processing,CtrlR运行. 运行效果 : class myRect {float x,y;float r,a;//banjing secai bianhua myRect(float x, float y, float r,float a) {this.x x;this.y y;this.r r;this.a a;}void chang(){this.a 0.02;} void display() {stroke(255);fill(120-120*cos(a…

用生动的例子花式解释:python类中一定需要有 __init__方法么?没有会怎样?

python 类中一定需要有 __init __方法么&#xff1f;没有的会怎样&#xff1f; 在回答这个问题之前&#xff0c;先说两个问题&#xff1a;① 面向对象编程&#xff1f; ② 什么是类&#xff1f; 面向对象&#xff0c;先上一个正式点的解释&#xff1a; “把一组数据结构和处…

了解 SharePoint 2010 开发中的关键设计决定

在开发项目时&#xff0c;我们经常用到SVN.但是有时候&#xff0c;只知道把源码放到trunk , 把一些文档放到Document下面。其它的目录都应该放什么东西&#xff0c;应该怎么用。可能都有点模糊。 Branch 目录 &#xff1a; 跟工程项目相关的各个工程版本分支。该目录下面的版…

C++,string类的指针,string类数组的指针 string *s

可以这样&#xff1a; #include<iostream> #include<string> using namespace std;int main(void) {string s "hello";//定义一个char类型指针&#xff0c;把string s的首元素地址赋给pt,则pt指向字符串s.char *pt &s[0]; cout << pt <&…

了解 SharePoint 2010 开发中的关键点

**摘要&#xff1a;**了解为 Microsoft SharePoint 2010 规划和开发业务解决方案时必须做出的关键点。 上次修改时间&#xff1a; 2012年3月13日 适用范围&#xff1a; Business Connectivity Services | Office 2010 | Open XML | SharePoint Designer 2010 | SharePoint Fo…

C++自定义迭代器模板,实现ArrayList基本操作,自定义迭代器遍历

运用到的知识&#xff1a;&#xff08;不分先后&#xff09; 模板&#xff0c;类&#xff0c;循环数组&#xff0c;线性表&#xff0c;指针&#xff0c;异常&#xff0c;迭代器&#xff0c;输入输出等C基础 #include<iterator> #include<iostream> #include<v…

SharePoint2013 2019性能及限制

适用于&#xff1a;2013 2019 SharePoint Online 本文档介绍 SharePoint Server 2013 的软件边界和限制。其中包括&#xff1a; 边界&#xff1a; 根据设计无法超过的静态限制 阈值&#xff1a; 为满足特定要求而能够超过的可配置限制 支持的限制&#xff1a; 已默认设置为…

Anaconda安装绘图模块altair

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple altair

MOSS/Sharepoint RBS概念以及运用

注&#xff1a;原文作者不知道是谁&#xff0c;先收藏了这篇&#xff08;若有侵权&#xff0c;请留言&#xff0c;删除&#xff09; EBS -> External Blob Storage 外部大二进制对象存储 RBS -> Remote Blob Storage 远程大二进制对象存储 这俩概念据我所知&#xff0c;…

【Python学习】 - 超详细的零基础Pandas学习(附Python数据分析与应用课本第四章实训答案)

&#xff08;博文体系参考&#xff1a;《Python数据分析与应用》课本&#xff09; 任务数据如下&#xff1a; 读入csv文件时&#xff0c;encoding必须是正确的&#xff0c;常用的编码格式有&#xff1a;UTF-8 , UTF-16 , GBK , GB2312 , GB18030等。 如果和文件的编码格式不符…

SQL Server 中“dbo”到底是什么

在&#xff33;&#xff31;&#xff2c; Server中看见很多表名都有前缀dbo&#xff0c;但是不写也可以。比如pubs的数据库中的表dbo.title &#xff11;&#xff0e; dbo是一个构架(schema)&#xff0c;在sql2005中,表的调用格式如下:"数据库名.构架名.表名",同一个…

win10,配置环境变量时系统环境变量和用户环境变量的优先级

关于%%中间夹着的东西&#xff0c;比如%AppData%的路径&#xff0c;是在注册表中可以修改的&#xff0c;用户也可以自定义这种%...%&#xff0c;相当于你定义了一个路径常量&#xff0c;定义方法也是去系统的环境变量中去添加即可。 比如一般常用%JAVAHOME%这种。 参考文章&a…

sql server登录名、服务器角色、数据库用户、数据库角色、架构区别联系**

1.一个数据库用户可以对应多个架构&#xff08;架构是表容器&#xff09;。架构里面包含的是数据库表。 2.一个数据库角色有可能涉及多个架构。数据库角色对应的是权限。 3.一个用户对应一个数据库角色。 4.登录名与数据库用户在服务器级别是一对多的&#xff1b;在数据库级…

python 字典、列表、字符串 之间的相互转换

1、列表与字符串转换 列表转字符串&#xff1a; 将列表中的内容拼接成一个字符串 将列表中的值转成字符串 字符串转列表&#xff1a; 用eval转换 将字符串每个字符转成列表中的值 将字符串按分割成列表 2、列表与字典转换 列表转字典&#xff1a; 将两个列表转成字典 将嵌…

【转】SharePoint开发中可能用到的各种Context(上下文)

第一部分 服务器端上下文 一、HttpContext 这个……我想就不用再介绍了&#xff0c;SharePoint运行在标准的ASP.NET框架下&#xff08;2003用的不是标准的ASP.NET 1.1&#xff0c;不过这年头还有人用2003么&#xff09;&#xff0c;所以这个对象的使用和ASP.NET没有任何区别。…

Python 字符串前面加u,r,b,f的含义

1、字符串前加 u 例&#xff1a;u"我是含有中文字符组成的字符串。" 作用&#xff1a; 后面字符串以 Unicode 格式 进行编码&#xff0c;一般用在中文字符串前面&#xff0c;防止因为源码储存格式问题&#xff0c;导致再次使用时出现乱码。 2、字符串前加 r 例&a…

【转】aspx,ascx和ashx使用小结

做asp.net开发的对.aspx,.ascx和.ashx都不会陌生。关于它们&#xff0c;网上有很多文章介绍。“纸上得来终觉浅&#xff0c;绝知此事要躬行”&#xff0c;下面自己总结一下做个笔记。1、.aspx Web窗体设计页面。Web窗体页由两部分组成&#xff1a;视觉元素&#xff08;html、服…

【转】执行Import-SPWeb报错Import-SPWeb : Requested value 'PublishingPages' was not found

Import-SPWeb : Requested value PublishingPages was not found. 【解决办法】 1.找到CPM文件 2.把cpm文件后缀名改为cab&#xff0c;如果有多个cmp需要把所有文件改为cab 3.使用cmd全部解压&#xff0c;然后找到Manifest.xml 4.找到“PublishingPages”&#xff0c;替换为…

【Gym - 101775J】Straight Master(差分,思维)

题干&#xff1a; A straight is a poker hand containing five cards of sequential rank, not necessarily to be the same suit. For example, a hand containing 7 club, 6 spade, 5 spade, 4 heart and 3 diamond forms a straight. In this problem, we extend the defi…

【转】Azure DevOps —— Azure Board 之 长篇故事、特性、用户情景(故事)的用法应用场景

前提 我以前在之前的文章里大概介绍了 Azure Board 的基本使用&#xff0c;可以回看《Azure Board 的基本使用》。如果你想使用 Azure Board 来安排工作的话&#xff0c;请提前了解《敏捷开发》的相关知识。 作者将使用 “Agile” 作为项目的模板&#xff0c;不明白的先阅读《…