http://blogs.technet.com/b/pramodbalusu/archive/2011/07/09/rbs-and-sharepoint-2010.aspx
http://www.sp-blogs.com/blogs/adnan/Lists/Posts/Post.aspx?ID=9
http://www.cnblogs.com/start4e/archive/2012/04/01/2428317.html
http://www.cnblogs.com/willsong/archive/2011/01/26/1945328.html
下面我要写下我在部署RBS遇到的问题和解决办法:
1.开启数据库的FILESTREAM支持
数据库执行如下:
EXEC sp_configure filestream_access_level, 2
RECONFIGURE
步骤没有问题
2.配置内容数据库与文件系统的映射
EXEC sp_configure filestream_access_level, 2
RECONFIGURE
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]
add filegroup RBSFilestreamProvider contains filestream
use [WSS_Content]
alter database [WSS_Content] add file (name = RBSFilestreamFile,
filename = 'C:\SharePointData\filesData') to filegroup RBSFilestreamProvider
最后黄色部分会出错,解决办法是改为如下:
use [WSS_Content]
alter database [WSS_Content] add file (name = RBSFilestreamFile,
filename = 'C:\SharePointData') to filegroup RBSFilestreamProvider
如果改乱了,需要删除RBSFilestreamFile,如下:
ALTER DATABASE yourdbname Remove file RBSFilestreamFile;
ALTER DATABASE yourdbname REMOVE FILEGROUP RBSFilestreamProvider;
软后在执行一遍。
3.安装RBS提供程序
这里要注意下载RBS_x64.msi的地址 http://www.microsoft.com/download/en/details.aspx?id=16177,我就吃了亏。验证RBS_x64.msi下在的正确性的简单办法是验证文件大小(文件大小为:5.29MB)。
安装命令如下:
msiexec /qn /lvx* rbs_install_log.txt /i RBS_X64.msi TRUSTSERVERCERTIFICATE=true FILEGROUP=PRIMARY DBNAME="WSS_Content" DBINSTANCE="2K8-R2X64EN" FILESTREAMFILEGROUP=RBSFilestreamProvider FILESTREAMSTORENAME=FilestreamProvider_1
安装注意事项:
要以管理员方式打开cmd
其中 WSS_Content 为内容数据库名称 ,sp2010为数据库服务器名(如果还不明白,就依次打开sharepoint管理中心-管理内容数据库设置-数据库服务器所示)。
验证安装RBS正确性:
方法1:数据库执行 select * from dbo.sysobjects where name like 'rbs%'
方法2:rbs_install_log.txt大小超过1mb
方法3:在已安装程序中看到“sql server 远程Blob 存储区”
4.为内容数据库启用RBS
用sharepoint power shell运行如下代码:
$cdb=Get-SPContentDatabase "WSS_Content"
$rbss=$cdb.RemoteBlobStorageSettings
$rbss.Installed()
$rbss.Enable()
$pvdName=$rbss.GetProviderNames()[0]
$rbss.SetActiveProviderName($pvdName)
$rbss.Migrate()
$rbss.MinimumBlobStorageSize=1048000
$cdb.Update()
注意:
关于阀值解释(MinimumBlobStorageSize):如果你希望设置一个文档大小阈值,只有大小超过此阈值的文档,才通过RBS FILESTREAM Provider存储到NTFS文件系统上,而小于此阈值的文档,仍然存储在内容数据库中。如果想改变阀值如下操作:
$cdb=Get-SPContentDatabase "WSS_Content"
$rbss=$cdb.RemoteBlobStorageSettings
$rbss.MinimumBlobStorageSize= 改变的大小
$cdb.Update()
5.测试
至少要测试上传大于和小于阀值的文档。然后查看如下地址是否有文件添加(主要看创建时间):
C:\SharePointData\0983ca95-b045-4461-9da3-eb7ad9ab2222\06b924d9-8fda-42cd-b97a-0f489b1f7c94
注意:寻找这个文件夹地址办法是找文件大小最大的,或者是说上传文件后文件夹大小发生变化的。
努力过就不会后悔
jindahao