为每个内容数据库设置 BLOB 存储
启用并配置 FILESTREAM 之后,请按照以下过程在文件系统中设置 BLOB 存储。必须为要对其使用 RBS 的每个内容数据库设置 BLOB 存储。
设置 BLOB 存储
-
确认执行这些步骤的用户帐户是要为其配置 RBS 的每个数据库上 db_owner 固定数据库角色的成员。
- 依次单击“开始”、“所有程序”、“Microsoft SQL Server 2008”和“SQL Server Management Studio”。
- 连接到承载内容数据库的 SQL Server 实例。
- 展开“数据库”。
- 单击要为其创建 BLOB 存储的内容数据库,然后单击“新建查询”。
- 将以下 SQL 查询粘贴在“查询”窗格中,然后按列出顺序执行它们。在每一例中,将 [WSS_Content] 替换为内容数据库名称,将 c:\BlobStore 替换为要在其中创建 BLOB 存储的卷\目录。设置过程将在您指定的位置创建文件夹。请注意,您只能设置一次 BLOB 存储。如果您尝试多次设置同一 BLOB 存储,则将收到错误。
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:\Blobstore‘) to filegroup RBSFilestreamProvider
在每台 Web 服务器上安装 RBS 客户端库
必须在 SharePoint 场中的所有 Web 服务器上安装 RBS 客户端库。仅为每台 Web 服务器安装一次 RBS 客户端库,但单独为每个关联的内容数据库配置 RBS。客户端库包括一个链接到用户应用程序的客户端动态链接库 (DLL) 和一组安装在 SQL Server 上的存储过程。
在第一台 Web 服务器上安装 RBS 客户端库
-
确认执行这些步骤的用户帐户是安装该库的计算机上 管理员 组的成员。
- 在任何 Web 服务器上,浏览到 http://go.microsoft.com/fwlink/p/?LinkId=271938 并下载 RBS_amd64.msi 文件。
- 单击“开始”,再单击“运行”,并在“运行”文本框中键入 cmd,然后单击“确定”。
- 将以下命令复制并粘贴到命令提示符窗口中。将 WSS_Content 替换为数据库名称,将 DBInstanceName 替换为 SQL Server 实例名称。您只应使用特定数据库名称和 SQL Server 实例名称运行一次此命令。此操作应大约在一分钟内完成。
复制
msiexec /qn /lvx* rbs_install_log.txt /i RBS_amd64.msi TRUSTSERVERCERTIFICATE=true FILEGROUP=PRIMARY DBNAME="WSS_Content" DBINSTANCE="DBInstanceName" FILESTREAMFILEGROUP=RBSFilestreamProvider FILESTREAMSTORENAME=FilestreamProvider_1
在所有其他 Web 服务器和应用程序服务器上安装 RBS 客户端库
-
确认执行这些步骤的用户帐户是安装该库的计算机上 管理员 组的成员。
- 在任何 Web 服务器上,浏览到 http://go.microsoft.com/fwlink/p/?LinkId=271938 并下载 RBS_amd64.msi 文件。
- 单击“开始”,再单击“运行”,并在“运行”文本框中键入 cmd,然后单击“确定”。
- 将以下命令复制并粘贴到命令提示符窗口中。将 WSS_Content 替换为数据库名称,将 DBInstanceName 替换为 SQL Server 实例名称。此操作应大约在一分钟内完成。
复制
msiexec /qn /lvx* rbs_install_log.txt /i RBS_amd64.msi DBNAME="WSS_Content" DBINSTANCE="DBInstanceName" ADDLOCAL=Client,Docs,Maintainer,ServerScript,FilestreamClient,FilestreamServer
- 为 SharePoint 场中的所有 Web 服务器和应用程序服务器重复此过程。
确认 RBS 客户端库安装
-
rbs_install_log.txt 日志文件的创建位置与 RBS_amd64.msi 文件的所在位置相同。请使用文本编辑器打开 rbs_install_log.txt 日志文件并向文件底部滚动。在文件末尾的最后 20 行内,应该会有一项显示以下内容:“产品: SQL 远程 Blob 存储 – 已成功完成安装”。
- 在运行 SQL Server 2008 的计算机上,验证是否在内容数据库中创建了 RBS 表。一些表应列在名称前面有字母“mssqlrbs”的内容数据库下。
为每个内容数据库启用 RBS
您必须在 SharePoint 场中的一台 Web 服务器上启用 RBS。执行此活动时,选择哪一台 Web 服务器并不重要,只要使用上面的过程在该服务器上安装了 RBS 即可。您必须为每个内容数据库执行一次此过程。
注意: |
---|
只能使用 Windows PowerShell 启用 RBS。 |
使用 Windows PowerShell 启用 RBS
-
确认您满足以下最低要求:请参阅 Add-SPShellAdmin。
- 启动 SharePoint 2013 命令行管理程序。
- 对于 Windows Server 2008 R2:
- 在“开始”菜单上,单击“所有程序”,单击“Microsoft SharePoint 2013 产品”,然后单击“SharePoint 2013 命令行管理程序”。
- 对于 Windows Server 2012:
- 在“开始”菜单上,单击“SharePoint 2013 命令行管理程序”。
如果“开始”\屏幕上未显示“SharePoint 2013 命令行管理程序”,则:
- 右键单击“计算机”,单击“所有应用程序”,然后单击“SharePoint 2013 命令行管理程序”。
- 在“开始”菜单上,单击“SharePoint 2013 命令行管理程序”。
有关如何与 Windows Server 2012 进行交互的详细信息,请参阅 Windows Server 2012 中的常见管理任务和导航。
- 对于 Windows Server 2008 R2:
- 在 Windows PowerShell 命令提示符处,键入以下命令:
复制
$cdb = Get-SPContentDatabase <ContentDatabaseName> $rbss = $cdb.RemoteBlobStorageSettings $rbss.Installed() $rbss.Enable() $rbss.SetActiveProviderName($rbss.GetProviderNames()[0]) $rbss
其中:
- <ContentDatabaseName> 是内容数据库的名称。
有关详细信息,请参阅 Get-SPContentDatabase。
向 Web 应用程序分配 db_owner 权限
重要说明: |
---|
确保访问启用 RBS 的内容数据库的 Web 应用程序是该数据库的 db_owner 固定数据库角色的成员。 |
测试 RBS 安装
您应测试 SharePoint 场中的一台 Web 服务器上的 RBS 安装以确保系统正确运行。
测试 RBS 数据存储
-
在包含 RBS 数据存储的计算机上,单击“开始”,然后单击“计算机”。
- 浏览到 RBS 数据存储目录。
- 确认该文件夹为空。
- 在 SharePoint 场中,将至少为 100 KB 的文件上载到文档库。
- 在包含 RBS 数据存储的计算机上,单击“开始”,然后单击“计算机”。
- 浏览到 RBS 数据存储目录。
- 浏览到文件列表,并打开修改日期最近的文件。此文件应该是您上载的文件。