在关注 Spence Harbar 之后实施 SharePoint Server 2010 用户配置文件同步的合理指南(http://www.harbar.net/articles/sp2010ups.aspx) 确实如此(并且让它在其他实现中工作了几次)在这个特定的例子中,启动用户配置文件同步服务会产生以下错误(这些错误可以在尝试启动和运行 UPS Sync 的服务器的 Windows 日志中找到)并最终失败:
错误 ID:22 - Forefront Identity Manager 服务无法连接到 SQL 数据库服务器。
无法连接 SQL Server。连接失败可能是由于网络故障、防火墙配置错误或其他连接问题。此外,SQL Server 连接信息可能配置不正确。
验证是否可以从 Forefront Identity Manager Service 计算机访问 SQL Server。确保 SQL Server 正在运行、网络连接处于活动状态并且防火墙配置正确。最后,验证连接信息是否已正确配置。此配置存储在 Windows 注册表中。
和
错误 ID:3 - .Net SqlClient 数据提供程序:System.Data.SqlClient.SqlException:HostId 未注册
在 Microsoft.ResourceManagement.Data.Exception.DataAccessExceptionManager.ThrowException(SqlException innerException) 在 Microsoft.ResourceManagement.Data.DataAccess.RetrieveWorkflowDataForHostActivator(Int16 hostId、Int16 pingIntervalSecs、Int32 activeHostedWorkflowDefinitionsSequenceNumber、Int16 workingControlMessagesMaxPerMinute、Int16 requestRecoveryMaxPerMinute、Int16 requestCleanupMaxPerMinute、Boolean runRequestRecoveryScan、Boolean& doPolicyApplicationDispatch、ReadOnlyCollection1& activeHostedWorkflowDefinitions、ReadOnlyCollection1& workingControlMessages、List`1& requestToRedispatch) 在 Microsoft.ResourceManagement.Workflow.Hosting.HostActivator.RetrieveWorkflowDataForHostActivator() 在 Microsoft.ResourceManagement.Workflow.Hosting.HostActivator.ActivateHosts(Object source, ElapsedEventArgs 参数)
.Net SqlClient 数据提供程序:System.Data.SqlClient.SqlException:HostId 未在 System.Data.SqlClient.SqlConnection.OnError(SqlException 异常,布尔 breakConnection) 处注册,位于 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) 处,位于 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior、SqlCommand cmdHandler、SqlDataReader dataStream、BulkCopySimpleResultSet bulkCopyHandler、TdsParserStateObject stateObj) 处,位于 System.Data.SqlClient.SqlDataReader.ConsumeMetaData() 处,位于 System.Data.SqlClient.SqlDataReader.get_MetaData() 处,位于 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds,RunBehavior runBehavior,String resetOptionsString)在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior,RunBehavior runBehavior,Boolean returnStream,Boolean async)在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,RunBehavior runBehavior,Boolean returnStream,String method,DbAsyncResult result)在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,RunBehavior runBehavior,Boolean returnStream,String method)在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior,String method)在System.Data.SqlClient.SqlCommand.ExecuteReader() 在 Microsoft.ResourceManagement.Data.DataAccess.RetrieveWorkflowDataForHostActivator(Int16 hostId、Int16 pingIntervalSecs、Int32 activeHostedWorkflowDefinitionsSequenceNumber、Int16 workingControlMessagesMaxPerMinute、Int16 requestRecoveryMaxPerMinute、Int16 requestCleanupMaxPerMinute、Boolean runRequestRecoveryScan、Boolean& doPolicyApplicationDispatch、ReadOnlyCollection1& activeHostedWorkflowDefinitions、ReadOnlyCollection1& workingControlMessages、List`1& requestToRedispatch)
和
错误 ID:234 - 无法创建 ILM 证书。
(注意:有多个这样的选项,每个 ILM 证书创建失败阶段一个)。
该系统是一个多(3)服务器场:
世界羽毛球联合会Windows 2008 64位 SharePoint 2010
APP(UPS 和 UPS Sync 在此运行)Windows 2008 64位 SharePoint 2010
SQL(默认实例)SQL Server 2008 R2 64 位
已遵循 Spence 指南中的所有必要步骤(域帐户、权限、权利等)。
APP服务器上的两个FIM服务正在启动,并且使用FARM账户。
%Programfiles%\Microsoft Office Servers \14.0\Synchronization Service\MaData 中不存在 ILMMA 和 MOSS- 文件夹。
其他人的类似帖子(没有明确的解决方案)可以在这里找到:
想法?建议?解决方案?
更新
事实证明,安全存储服务应用程序已部署,但未配置且缺少密钥。完成此操作可解决上述所有错误,但第一个错误除外:
错误 22:Forefront Identity Manager 服务无法连接到 SQL 数据库服务器。
此错误现在在日志中仅存在一次。用户配置文件同步服务现在卡在启动状态而不是失败。FIM 同步服务由于登录失败而无法启动(因此出现错误)。
重新启动没有任何作用。如前所述,已遵循 Spence 指南中的步骤,并且相应的帐户位于具有正确权限的正确组中。
有什么想法吗?
更新
SQL Server 现在反复出现以下错误:
事件 17806
建立集成安全性连接时,SSPI 握手失败,错误代码为 0x8009030c,状态为 14;连接已关闭。原因:AcceptSecurityContext 失败。Windows 错误代码指示失败的原因。
事件 18452
登录失败。登录来自不受信任的域,无法与 Windows 身份验证一起使用。
更新
在 SQL 上切换到混合模式身份验证(?)解决了这些问题。
然后我确保我的其他服务应用程序都已启动并配置完毕。
然后我又重启了几次。
然后我使用 powershell 取消配置同步服务。
然后我启动(配置)同步服务。
尽管两个 FIM 服务都在 APP 服务器上启动,但原始错误又出现了。
更新
从 ULS 来看,这似乎是令我苦恼的错误。
07/09/2010 13:09:02.06 OWSTIMER.EXE (0x04C4) 0x1398 SharePoint Portal Server 用户配置文件 9q15 高 UserProfileApplication.SynchronizeMIIS:无法配置 ILM,将在下次重新运行期间尝试。异常:System.Runtime.InteropServices.COMException (0x80070035):未找到网络路径。在 System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail) 在 System.DirectoryServices.DirectoryEntry.Bind() 在 System.DirectoryServices.DirectoryEntry.get_AdsObject() 在 System.DirectoryServices.PropertyValueCollection.PopulateList() 在 System.DirectoryServices.PropertyValueCollection..ctor(DirectoryEntry entry, String propertyName) 在 System.DirectoryServices.PropertyCollection.get_Item(String propertyName) 在 Microsoft.Office.Server.Administration.UserProfileApplication.AddAccountToMIISUsersList(String strAccount, Hashtable htPermittedUsers, Hashtable htNewlyAddedUsers) 在 Microsoft.Office.Server.Administration.UserProfileApplication.SetupProfileSynchronizationEnginePermissions() 在 Microsoft.Office.Server.Administration.UserProfileApplication.SetupSynchronizationService(ProfileSynchronizationServiceInstance profileSyncInstance)。 6d80e09e-5883-43c1-9ca0-2377646b6f00
我应该补充一下,DC 和客户端上启用了 WINS。本地 DTC 访问也是如此。我甚至在指向正确服务器的机器上创建了一个 HOSTS 文件。
更新
一切正常。一时兴起,我将我的 FARM 帐户添加到域管理员组以进行配置过程。然后我重新启动。一切都已启动,中央管理中的同步服务和两个 FIM 服务。
现在,这本不应该是必需的。但是,它起作用了。
无论如何,现在一切都进展顺利。
如果您最终这样做了,请不要忘记从您添加它的域管理员和本地管理员组中删除您的 FARM 帐户。
此外,如果您遇到这么多麻烦,建议您清除所有内容并重新开始。在配置过程中,UPS 服务会发生很多事情,拥有一个干净的系统比拥有一个脏兮兮的系统要好。
解决方案(结束)
这些错误与 UPS 配置不正确有关。这可能与环境中现有活动目录的问题有关,例如无法读取适当的 AD 对象,未找到网络路径实际上与此有关。UPS 非常麻烦。如果您遇到这些错误并且已经用尽了所有推荐的方法,请评估您的活动目录。检查其功能级别、策略、标准权限等。例如,我们在此实施中发现,最初,一些用户帐户没有基本的读取权限。然后,重新开始,干净利落地。
答案1
更新
一切正常。一时兴起,我将我的 FARM 帐户添加到域管理员组以进行配置过程。然后我重新启动。一切都已启动,中央管理中的同步服务和两个 FIM 服务。
现在,这本不应该是必需的。但是,它起作用了。
无论如何,现在一切都进展顺利。
如果您最终这样做了,请不要忘记从您添加它的域管理员和本地管理员组中删除您的 FARM 帐户。
此外,如果您遇到这么多麻烦,建议您清除所有内容并重新开始。在配置过程中,UPS 服务会发生很多事情,拥有一个干净的系统比拥有一个脏兮兮的系统要好。
解决方案(结束)
这些错误与 UPS 配置不正确有关。这可能与环境中现有活动目录的问题有关,例如无法读取适当的 AD 对象,未找到网络路径实际上与此有关。UPS 非常麻烦。如果您遇到这些错误并且已经用尽了所有推荐的方法,请评估您的活动目录。检查其功能级别、策略、标准权限等。例如,我们在此实施中发现,最初,一些用户帐户没有基本的读取权限。然后,重新开始,干净利落地。