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

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

示例采用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:windows

    $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 还原了。ide

    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 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")

       

    5. 如今你能够删除文件和文件流filegroup:
      ALTER DATABASE yourdbname Remove file RBSFilestreamFile;
      
      ALTER DATABASE yourdbname REMOVE FILEGROUP RBSFilestreamProvider;
相关文章
相关标签/搜索