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;
相關文章
相關標籤/搜索