排查用户配置文件同步服务启动问题 (SharePoint Server 2010)

 

适用于: SharePoint Server 2010

上一次修改主题: 2016-11-30

本文包含的提示用于解决尝试启动用户配置文件同步服务时可能遇到的问题。

用户配置文件同步服务与 Microsoft Forefront Identity Manager (FIM) 交互,以与外部系统(如目录服务和业务系统)同步配置文件信息。启用用户配置文件同步服务时,将设置两个 FIM 服务 — Forefront Identity Manager Service 和 Forefront Identity Manager Synchronization Service。无法启动用户配置文件同步服务是管理员遇到的最常见配置文件同步问题。

用户配置文件同步服务可能需要长达十分钟的时间启动。出现以下情况时,表明用户配置文件同步服务已成功启动:

  • 在管理中心的“服务器上的服务”页上,用户配置文件同步服务的状态为“已启动”。

  • 在“服务”Microsoft 管理控制台中,Forefront Identity Manager Service 和 Forefront Identity Manager Synchronization Service 的状态为“已启动”。两个服务均使用服务器场帐户运行。

    重要

    不要在“服务”Microsoft 管理控制台中手动启动 FIM 服务。不支持手动启动 FIM 服务或更改 FIM 服务配置。

如果启动用户配置文件同步服务后过了很长时间,但是“服务器上的服务”页显示状态“正在启动”或者“已停止”,请查看以下各节以详细了解可能导致用户配置文件同步服务启动问题的问题。

备注

“服务器上的服务”页不会自动刷新。必须手动刷新该页才能查看更新的信息。

本文内容:

  • 服务器场帐户的权限不正确

  • 同步数据库中服务器场帐户的默认架构设置不正确

  • 用户配置文件同步服务无法启动,因为管理中心网站使用安全套接字层

  • 服务器重新启动后用户配置文件同步服务无法启动

备注

Microsoft 会定期发布软件更新来解决报告的问题。如果本文没有介绍您遇到的问题,请查看软件更新列表来了解是否有可解决相关问题的软件更新。若要查看最新软件更新,请参阅 SharePoint 2010 产品的更新 (https://go.microsoft.com/fwlink/?linkid=160585&clcid=0x804)。

服务器场帐户的权限不正确

服务器场帐户用于启动用户配置文件同步服务。Forefront Identity Manager Service 和 Forefront Identity Manager Synchronization Service 也使用服务器场帐户运行。若要解决此问题,请执行以下操作:

  1. 确定服务器场帐户

  2. 验证服务器场帐户是否具有所需的权限

确定服务器场帐户

一些人将服务器场管理员与服务器场帐户混淆。服务器场管理员是具有 Farm Administrators 组的成员身份的用户帐户。服务器场帐户是安装并配置 SharePoint Server 时指定的帐户。服务器场帐户用于创建和访问配置数据库。它还充当 SharePoint 管理中心应用程序池的应用程序池标识帐户,并且是 Microsoft SharePoint Foundation 工作流定时服务运行时所使用的帐户。若要确定服务器场帐户,请从管理中心中,单击“配置服务帐户”,然后单击“服务器场帐户”。这是用于启动用户配置文件同步服务的帐户,必须向它授予适当的权限。

备注

不要使用“服务帐户”页更改用户配置文件同步服务运行时所使用的帐户。这不受支持。

验证服务器场帐户是否具有所需的权限

验证服务器场帐户是否具有以下权限:

  • 服务器场帐户对您尝试在其上启动用户配置文件同步服务的服务器具有“本地登录”权限。

  • 服务器场帐户是您尝试在其上启动用户配置文件同步服务的服务器上 Administrators 组的成员。

    备注

    仅启动用户配置文件同步服务需要此权限。启动用户配置文件同步服务后,可以从 Administrators 组删除服务器场帐户。

对服务器场帐户进行更改后,必须重新启动 SharePoint 2010 定时服务或者重新启动服务器。这可以确保当前以服务场帐户身份运行的每个 SharePoint 服务使用最新凭据。

同步数据库中服务器场帐户的默认架构设置不正确

如果使用 Windows PowerShell 创建 User Profile Service 应用程序并且创建 User Profile Service 应用程序时未以服务器场帐户身份登录,则同步数据库中服务器场帐户的默认架构设置不正确。在通用日志记录系统 (ULS) 日志中会报告以下错误:

无法配置 ILM,将在下次重新运行期间尝试。异常: System.Data.SqlClient.SqlException: 指定的集合‘StringSchemaCollection’无法删除,因为它正由对象‘<服务器场帐户>.GetObjectCurrent’使用。

备注

我们建议不要以服务器场帐户身份登录。

若要解决此问题,请删除 User Profile Service 应用程序并使用管理中心或者 Windows PowerShell 脚本重新创建它。以下过程演示了一个示例,以说明如何使用 Windows PowerShell 脚本创建 User Profile Service 应用程序。

使用 Windows PowerShell 创建 User Profile Service 应用程序

  1. 确认您满足以下最低要求:请参阅 Add-SPShellAdmin

  2. 复制以下代码并粘贴到文本编辑器(如记事本)中:

    $sb = {
      Add-PSSnapin Microsoft.SharePoint.PowerShell
    
      $saAppPool = Get-SPServiceApplicationPool "SharePoint Web Services Default"
      $dbServer="<DBServer>"
      $upa = New-SPProfileServiceApplication -Name "<UPSAppName>" `
      -ApplicationPool $saAppPool `
      -ProfileDBName "<ProfileDBName>" `
      -ProfileDBServer $dbServer `
      -SocialDBName "<SocialDBName>" `
      -SocialDBServer $dbServer `
      -ProfileSyncDBName "<SyncDBName>" `
      -ProfileSyncDBServer $dbServer `
      -ErrorAction SilentlyContinue -ErrorVariable er
      }
    $cred = Get-Credential "<FarmAccount>"
    $job = Start-Job -Credential $cred -ScriptBlock $sb | Wait-Job
    
  3. 将以下占位符替换为相应值,其中:

    • <DBServer> 是将在其中创建配置文件数据库的数据库服务器的名称。

    • <UPSAppName> 是要创建的 User Profile Service 应用程序的名称。

    • <ProfileDBName> 是要创建的配置文件数据库的名称。

    • <SocialDBName> 是要创建的社会数据库的名称。

    • <SyncDBName> 是要创建的同步数据库的名称。

    • <FarmAccount> 是服务器场帐户。

  4. 保存文件,将它命名为 Create-UPSApp.ps1。

    备注

    可以使用其他文件名。然而,必须将文件保存为扩展名为 .ps1 的 ANSI 编码文本文件。

  5. 在“开始”菜单上,单击“所有程序”。

  6. 单击“Microsoft SharePoint 2010 产品”。

  7. 单击“SharePoint 2010 Management Shell”。

  8. 转到保存该文件的目录。

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

    ./Create-UPSApp.ps1
    
  10. 出现提示时,键入服务器场帐户密码,然后单击“确定”。

有关详细信息,请参阅 New-SPProfileServiceApplication

用户配置文件同步服务无法启动,因为管理中心网站使用安全套接字层

管理中心网站配置为使用安全套接字层 (SSL) 时,配置文件同步存在问题。此问题在 Microsoft SharePoint Server 2010 2010 年 10 月累积更新中已经解决。有关累积更新的详细信息,请参阅 https://support.microsoft.com/kb/2394320/zh-cn

服务器重新启动后用户配置文件同步服务无法启动

如果具有 Active Directory 域服务 (AD DS)、SQL Server 和 SharePoint Server 全部安装在单一服务器上的单盒部署,则时间问题可能会阻止用户配置文件同步服务启动。例如,为了启动两个 FIM 服务,SQL Server 必须启动并响应连接。如果启动 FIM 服务时 SQL Server 没有运行,则 FIM 服务将无法启动。

若要避免此问题,可以使用“服务”Microsoft 管理控制台将 FIM 服务的启动行为从“自动”更改为“自动(延迟的启动)”。

感谢

SharePoint Server 2010 内容发布团队感谢企业架构师 Spencer Harbar 投稿这篇文章。可以在以下位置查看他的博客:http://www.harbar.net/(该链接可能指向英文页面)

See Also

Concepts

配置同步配置文件 (SharePoint Server 2010)
规划配置文件同步 (SharePoint Server 2010)
排查配置文件同步配置问题 (SharePoint Server 2010)