SharePoint 2010 Remote BLOB Storage
Remote BLOB Storage
RBS is a set of standardized APIs that allow storage/retrieval of BLOBs outside of your main SQL database where a dedicated BLOB store is desirable for various reasons. This uses a provider model for plugging in any dedicated BLOB store that implements these RBS APIs.
What is BLOB ?
FILESTREAM provides a storage option that allows storage, efficient streaming and integrated management of large BLOBs in a SQL database by utilizing the underlying NTFS file system for BLOB storage/streaming. It offers fully transactional access and compatible operations as varbinary(max).
B: Binary
L: Large
OB: Object
BLOB (Binary large object): Unstructured data (IMG, OFF 2010 files, MEDIA)
Using RBS in SharePoint will improve the performance of the FARM.
RBS may be used when:
- You have huge content database for document archiving so you want to reduce storage cost (terabytes of data)
- You have large media files to stream to the audience
- You need to use RBS to integrate 3rd party storage/archiving solutions to SharePoint. (For example EMC Documentum(JAVA Document management))
- FILE> 100 KB Stored in file system
- BLOB could be Store in file Remote File System, Shared Files location etc.
Open SQL Server instance make sure the following option are enabled
Steps to implement the RBS to your SharePoint FARM.
Steps to implement the RBS to your SharePoint FARM.
1. To implement the RBS to your SharePoint Content DATABASE run the following SQL Scripts
This will create the database encryption key
use [WSS_Content]
if not exists
(select * from sys.symmetric_keys
where name = N'##MS_DatabaseMasterKey##')
create master key encryption by password = N'Admin Key Password !2#4'
This will create the database filegroup name RBSFilestreamProvider
use [WSS_Content]
if not exists
(select groupname from sysfilegroups
where groupname=N'RBSFilestreamProvider')
alter database [WSS_Content]
add filegroup RBSFilestreamProvider contains filestream
This will alter database and add new file with specific system drive path.
use [WSS_Content]
alter database [WSS_Content]
add file (name = RBSFilestreamFile, filename =
'c:\Blobstore')
to filegroup RBSFilestreamProvider
2. Install RBS_64.msi package
Using the following command to install the package
msiexec /qn /lvx* rbs_install_log.txt /i RBS-x64.msi TRUSTSERVERCERTIFICATE=true FILEGROUP=PRIMARY DBNAME="WSS_Content" DBINSTANCE="DBInstanceName" FILESTREAMFILEGROUP=RBSFilestreamProvider FILESTREAMSTORENAME=FilestreamProvider_1
Note: Replace WSS_Content with the database name, and replace DBInstanceName with the SQL Server instance name.
3. To enable RBS by using Windows PowerShell
- On the Start menu, click All Programs.
- Click Microsoft SharePoint 2010 Products.
- Click SharePoint 2010 Management Shell.
At the Windows PowerShell command prompt, type the following command:
$cdb = Get-SPContentDatabase <ContentDatabaseName>
$rbss = $cdb.RemoteBlobStorageSettings
$rbss.Installed()
$rbss.Enable()
$rbss.SetActiveProviderName($rbss.GetProviderNames()[0])
$rbss
Note: Where <ContentDatabaseName> is the name of the content database.
4. Test the RBS installation
- Make sure your RBS Data directory empty.
- Go to the SharePoint Document library where you enabled the RBS to your content database.
- Upload a file that is at least 100 kilobytes (KB) to a document library.
- Browse to the RBS data store directory.
- Browse to the file list and open the file that has the most recent modified date. This should be the file that you uploaded.
Comments
Post a Comment