# برنامه نویسی با محصولات مایکروسافت > Sharepoint > مدیریت در شیرپوینت (Sharepoint Administration) >  BLOB Storage

## nemidonam

مروری بر Remote BLOB Storage  در sharepoint 2010(RBS) 

درشیرپوینت 2010 ، فایل های با حجم بالا ( همچون اسناد Officeو فایل های تصویری ) به صورت باینری در بانک اطلاعاتی sql serverذخیره می گردد . به طور پیش فرض ، این فایل ها به عنوان داده های بدون ساختارشناخته شده هستند که به طور مستقیم در پایگاه داده محتوای شیرپوینت به عنوانابرداده ، و یا داده های ساخت یافته ذخیره می شود که این امر موجب افزایش زیاد حجمدیتابیس محتوای شرپوینت در مرور زمان و نیز کاهش سرعت اپلود کردن فایل ها می شود . از آنجا که این فایل هامی تواند بسیار بزرگ باشند بهتر است برای ذخیره فایل ها , از فضای خارج از پایگاهداده محتوا استفاده شود. بر این اساس ، یک کپی جدید از فایل باید برای هر نسخه ایاز فایل  ذخیره شود.

RBS مایکروسافت SQL سرور کتابخانهمجموعه ای API است که به عنوان یکبسته از ویژگی های افزودنی برای MSSQL SERVER 2008R2، MSSQL SERVER 2008 یا MSSQL SERVER 2008R2 Express گنجانیده شده است. ویژگی RBS به شما این امکانرا می دهد برنامه های کاربردی مانند شیرپوینت سرور 2010 ، با ذخیره فایل در یکمکان خارج از پایگاه داده ها محتوا , هزینه ذخیره سازی فایل خارجی را کاهش می دهد .

مزایا وهزینه های با استفاده از RBS

RBS درحقیقت تغییر شیوه ذخیره سازی فایل ها از سرور پایگاه داده به ذخیره سازی دردایرکتوری ها اطلاق می شود . با استفاده از هزینه پایین تر ذخیره سازی دردایرکتوری به جای ذخیره سازی گران تر بر روی سرور پایگاه داده ها ، شما می توانیددر هزینه ها هم از نظر منابع ذخیره سازی و هم از نظر زمان ذخیره سازی صرفه جوییکنید. توجه شود هنگامی که بسیاری از فایل دارای حجم ناچیزی می باشند استفاده از RBS هیچ سود ندارد.

با استفادهاز FILESTREAM ممکن است هزینه هایعملیاتی افزایش بیابد، زیرا کارشناس IT باید وظایف بیشتری را انجام دهد. همچنین برای استفاده از RBSمی بایست هزینههای عملیاتی چون تهیه پشتیبان یا بازیابی , به روز رسانی و ارتقای نسخه هایجدیدتر شرپوینت و یا انتقال سایت های شیرپوینت را در نظر گرفت .
را هاندازی RBS

برای راهاندازیRBS  ابتدا می بایست خاصیتfilestream روی بانک اطلاعاتی خود فعال باشد برای این کارهمچون تصویر زیر در هنگام  نصب می باستخاصیت filestream  رافعال نمایید .
درصورتی که filestraem در هنگام نصب فعال نشده باشدمراحل زیر را باید انجام شود . لازم ذکر است مه تنها کافیست که یکبار روی سرورپایگاه داده ها این امکان فعال سازی می شود .

1-     ازمنوی start در قسمت Microsoftsql server 2008 R2  ازدسته configuration tools گزینه sql server configuration managerرا انتخاب نمایید .

2-     درلیست سرویس ها sql server services   را باز می کنیم .

3-     در اینپنجره sql server مورد نظر را کلیک راست کرده و گزینهproperties  راانتخاب کرده

4-     در تب FILESTREAM, گزینه Enable FILESTREAM for Transact-SQL access را انتخاب کرده ( گزینه Enable FILESTREAMfor file I/O streaming access امکان خواندن و نوشتن داده های FILESTRAEM را از طریق ویندوز برقرار می کند و گزینه Allowremote clients to have streaming access to FILESTREAM dataبرای دسترسی کاربران سیار به داده های FILESTREAM می باشد )

5-     پنجرهمشخصات را OK کنید .

6-     به منظور فعال شدن تنظیمات لازم برای استفاده از FILESTREAMS روی SQL در SQLServer Management Studio کزینه NewQuery را کلیلک زدهتا پنجره ویرایش Query باز شود و کد زیر را وارد نمایید  .

EXEC sp_configurefilestream_access_level, 2

RECONFIGURE


7-      برای تنظیم کردن محل ذخیره سازی RBS ها که پوشه های هستند که فایل های BLOB در آنها ذخیرهسازی می شوند برای هر یک از دیتابیس های حاوی این نوع فایل ها می بایست دستوراتزیر را اجرا نمایید : WSS_Content  نام دیتابیس مورد نظر می باشد و 'c:\Blobstore' مسیر پوشه محل ذخیره سازی RBS می باشد . توجه شود که 

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'

use [WSS_Content] if not exists(select groupname from sysfilegroups where groupname=N'RBSFilestreamProvider')

alter database [WSS_Content] addfilegroup RBSFilestreamProvider contains filestream

use [WSS_Content] alterdatabase [WSS_Content] add file (name = RBSFilestreamFile, filename ='c:\Blobstore') to filegroup RBSFilestreamProvider


8-      فایل RBS_x64.msiرا اجرا کرده و در هنگام نصب در پنجره Database Connection نام server name  که sqlserver روی آن نصب میباشد و نام دیتابیس محتوای مورد نظر را وارد کرده و مراحل نصب را تا انتها ادامهدهید .

 MyBlolb.jpg 

9-      در این مرحله می بایست RBS را روی فارم شرپوینت فعال سازی شود بدینمنظور بر روی سرور شرپوینت رفته و در منوی start گزینه sharepoint 2010 management shell را انتخاب کرده و دستور زیرا در powershell اجرا نمایید .توجه شود که ContentDatabaseName  نام دیتابیس مورد نظر می باشد .

$cdb = Get-SPContentDatabase<ContentDatabaseName> 
$rbss = $cdb.RemoteBlobStorageSettings 
$rbss.Installed() 
$rbss.Enable() $rbss.SetActiveProviderName($rbss.GetProviderNames  ()[0])
$rbss


10-    برایاطمینان از نصب پوشه ای را که برای ذخیره سازی فایل های RBS در نظر گرفته بودید را باز کرده و سپس بهسایت مورد نظر خود در شرپوینت رفته و یک فایل با حجم بالا ذخیره نماییدمشاهده  می نمایید که در مسیر RBS یک فایل باهمان حجم ایجاد شده است .

----------

