在 SharePoint Server 中还原 Search Service 应用程序

 

**上一次修改主题:**2018-03-12

**摘要:**了解如何还原 SharePoint Server 2016 和 SharePoint Server 2013 中的 Search Service 应用程序。

可以使用SharePoint 管理中心网站、Microsoft PowerShell 或 SQL Server 工具还原 SharePoint Server 搜索。具体使用哪种还原工具,取决于已部署的环境类型、计划要求以及与组织达成的服务级别协议。

本文内容:

  • 开始之前

  • 还原同义词库文件

  • 使用 Windows PowerShell 还原 SharePoint Search Service 应用程序

  • 使用管理中心还原 SharePoint Search Service 应用程序

  • 使用 SQL Server 工具还原 Search Service 应用程序的数据库

开始之前

在某些情况下,您可能必须还原某个特定服务应用程序,而不是还原整个服务器场。有些服务应用程序(如 SharePoint Search Service 应用程序、Business Data Connectivity Service 应用程序和 User Profile Service 服务应用程序)可向其他服务和网站提供数据。这可能导致用户在恢复过程完成之前遇到一些服务中断情况。

在开始此操作之前,请查看以下信息:

  • 备份和还原搜索不会影响服务器场的状态。但是,此操作需要使用资源。因此,搜索的备份和还原在运行备份时可能会影响服务器场的性能。在服务器场利用率最低时备份搜索,可避免出现性能问题。

  • 您无法使用 SQL Server 工具还原整个服务应用程序。不过,您可以还原与服务应用程序关联的数据库。

还原同义词库文件

同义词库文件用于指定在搜索查询中出现的单词或短语的同义词。您可以先在 SharePoint Server 的外部系统中创建和维护同义词库文件,然后再将这些文件导入 SharePoint Server 中以使其对搜索系统可用。因此,同义词库文件不会包含在默认的 SharePoint Server 搜索备份过程中,也不会包含在下面概述的搜索恢复过程中。

还原同义词库文件的具体步骤

  1. 按照下列过程之一操作可还原 SharePoint Server Search Service 应用程序。

  2. 如有必要,请对用于创建和维护同义词库文件的外部系统使用还原过程来还原同义词库文件。

  3. 使用 Import-SPEnterpriseSearchThesaurus PowerShell cmdlet 将同义词库文件导入 SharePoint Server 搜索系统中,如部署同义词库词典中所述。

使用 PowerShell 还原 SharePoint Search Service 应用程序

可以使用 PowerShell 工具还原服务应用程序。

使用 PowerShell 还原 Search Service 应用程序的具体步骤

  1. 确认您具有以下成员身份:

    • SQL Server 实例上的 securityadmin 固定服务器角色。

    • 要更新的所有数据库上的 db_owner 固定数据库角色。

    • 运行 PowerShell cmdlet 的服务器上的 Administrators 组。

    • SharePoint 组“Farm Administrators”。

    管理员可以使用 Add-SPShellAdmin cmdlet 授予使用 SharePoint Server cmdlet 的权限。

    备注

    如果您不具有这些权限,请联系您的安装管理员或 SQL Server 管理员来请求权限。有关 PowerShell 权限的其他信息,请参阅 Add-SPShellAdmin

  2. 确保您还原的服务器使用与您创建备份的服务器相同的驱动器映射。

  3. 启动 SharePoint 命令行管理程序。

  4. 在 PowerShell 命令提示符处,键入以下命令:

    Restore-SPFarm -Directory <BackupFolder> -Item "<ServiceApplicationName>" -RestoreMethod Overwrite [-BackupId <GUID>] [-Verbose]
    

    其中:

    • <BackupFolder> 是在其中备份服务应用程序的备份文件夹的路径。

    • <ServiceApplicationName> 是服务应用程序的名称。

    • <GUID> 是要使用的备份的 ID。

    若要指定要使用的备份,请使用 BackupId 参数。可通过键入以下命令来查看服务器场的备份:Get-SPBackupHistory -Directory <BackupFolder> -ShowBackup。如果不指定 BackupId,将使用最新备份。不能从仅配置备份还原服务应用程序。

    若要还原所有服务应用程序,请在 PowerShell 命令提示符处,键入以下命令:

    Restore-SPFarm -Directory <BackupFolder> -Item "Farm\Shared Service Applications" -RestoreMethod Overwrite [-BackupId <GUID>] [-Verbose]
    

    其中:

    • <BackupFolder> 是在其中备份服务应用程序的备份文件夹的路径。

    • <GUID> 是要使用的备份的 ID。

    For more information, see Restore-SPFarm.

  5. 在您还原 Search Service 应用程序时,它会自动暂停。完成还原工作后,若要恢复 Search Service 应用程序,请键入下列命令:

    $ssa = Get-SPEnterpriseSearchServiceApplication <SearchServiceApplicationName>$ssa.ForceResume(0x02)
    

    其中:

    • <SearchServiceApplicationName> 是您想要恢复的服务应用程序名。

备注

索引文件还原为每个索引分区一个副本。完成还原后,每个副本的索引会复制到其他索引副本中。在此过程中,搜索拓扑可对爬网和查询充分发挥作用,但不容错。
根据服务器场和索引大小的不同,该过程可能需要花费几个小时,索引副本在 Search Administration UI 和 Get-SPEnterpriseSearchStatus Microsoft PowerShell cmdlet 的输出中会降级。

备注

我们建议您在执行命令行管理任务时使用 Windows PowerShell。Stsadm 命令行工具已被弃用,仍然包含该工具是为了支持与之前产品版本的兼容性。

使用 管理中心 还原 SharePoint Search Service 应用程序

使用以下过程可通过 SharePoint 管理中心网站还原 Search Service 应用程序。

使用管理中心还原 Search Service 应用程序的具体步骤

  1. 确认执行此过程的用户帐户是 SharePoint 组“服务器场管理员”的成员。

  2. 确保您还原的服务器使用与您创建备份的服务器相同的驱动器映射。

  3. 启动管理中心。

  4. 在管理中心的主页上的“备份和还原”部分,单击“从备份还原”。

  5. 在“从备份还原 - 第 1 步(共 3 步): 选择要还原的备份”页上,从备份列表中选择包含服务应用程序备份或服务器场级备份的备份作业,然后单击“下一步”。单击备份旁的 (+) 可以查看关于每个备份的详细信息。

    备注

    如果未出现正确的备份作业,请在“备份目录位置”文本框中键入正确备份文件夹的路径,然后单击“刷新”。
    不能使用纯配置备份还原服务器场。

  6. 在“从备份还原 - 第 2 步(共 3 步): 选择要还原的组件”页上,展开“共享服务应用程序”,选中 Search Service 应用程序旁的复选框,然后单击“下一步”。若要还原所有服务应用程序,请选择“共享服务应用程序”节点。

  7. 在“从备份还原 - 第 3 步(共 3 步): 选择还原选项”页上的“还原组件”部分,确保“还原以下组件”列表中出现“Farm\Shared Services Applications\<服务应用程序>”。

    在“还原选项”部分的“还原类型”下,选择“相同配置”选项。此时将出现一个对话框,要求您确认操作。单击“确定”。

    单击“开始还原”。

  8. 可以在“备份和还原作业状态”页顶部的“准备情况”部分查看所有恢复作业的一般状态,在该页下半部分的“还原”部分查看当前恢复作业的状态。状态页每隔 30 秒自动更新一次。可以单击“刷新”来手动更新状态详情。备份和恢复是定时服务作业。因此,可能需要几秒钟才能开始恢复。

    如果您收到任何错误,则可以在“备份和还原作业状态”页的“失败消息”列中查看这些错误。还可以在步骤 3 中指定的 UNC 路径内的 Sprestore.log 文件中找到更多详细信息。

  9. 在您还原 Search Service 应用程序时,它会自动暂停。完成还原工作后,若要恢复 Search Service 应用程序,请使用 PowerShell:

    1. 确认您具有以下成员身份:

      • 运行 PowerShell cmdlet 的服务器上的 Administrators 组。

      管理员可以使用 Add-SPShellAdmin cmdlet 授予使用 SharePoint Server cmdlet 的权限。

      备注

      如果您不具有这些权限,请联系您的安装管理员或 SQL Server 管理员来请求权限。有关 PowerShell 权限的其他信息,请参阅 Add-SPShellAdmin

    2. 启动 SharePoint 命令行管理程序。

    3. 在 PowerShell 命令提示符处,键入以下命令:

      $ssa = Get-SPEnterpriseSearchServiceApplication <SearchServiceApplicationName>
      $ssa.ForceResume(0x02)
      

      其中:

      • <SearchServiceApplicationName> 是您想要恢复的服务应用程序名。

备注

索引文件还原为每个索引分区一个副本。完成还原后,每个副本的索引会复制到其他索引副本中。在此过程中,搜索拓扑可对爬网和查询充分发挥作用,但不容错。
根据服务器场和索引大小的不同,该过程可能需要花费几个小时。该过程进行中索引副本在 Search Administration UI 和 Get-SPEnterpriseSearchStatus Microsoft PowerShell cmdlet 的输出中会降级。

使用 SQL Server 工具还原 Search Service 应用程序的数据库

不能使用 SQL Server 工具还原整个 SharePoint Search Service 应用程序。但是,可以使用 SQL Server 工具还原与服务应用程序关联的数据库。若要还原整个 Search Service 应用程序,请使用 PowerShell 或管理中心。

使用 SQL Server 工具还原 Search Service 应用程序的数据库的具体步骤

  1. 验证您要用于还原数据库的用户帐户是否为存储每个数据库的数据库服务器上 SQL Serversysadmin 固定服务器角色的成员。

  2. 打开 SQL Server Management Studio 并连接到数据库服务器。

  3. 在对象资源管理器中,展开“数据库”。

  4. 右键单击要还原的数据库,指向“任务”,再指向“还原”,然后单击“数据库”。

  5. 在“还原数据库”对话框中的“常规”页上,从“目标数据库”下拉列表中选择要还原到的数据库。

  6. 从“自数据库”下拉列表中选择还原的源位置。

  7. 在“选择要还原的备份集”区域,选中数据库旁边的复选框。

  8. 在“选项”选项卡上,从“恢复状态”部分选择恢复状态。

    有关要使用的恢复类型的详细信息,请参阅恢复模式 (SQL Server)

  9. 单击“确定”还原数据库。

  10. 对与该服务应用程序关联的每个数据库重复步骤 1-9。

See also

在 SharePoint Server 中备份 Search Service 应用程序