将我们的 TFS 2010 升级到 TFS 2012,我在其中一个集合上收到此错误:
[Error] Sync error for identity: System.Security.Principal.WindowsIdentity, S-1-5-21-xxxxxxx - No mapping between account names and security IDs was done
升级失败。从管理控制台重新运行服务作业会导致相同的错误。
我查看了数据库,其中有一个条目,ADObjects
其中两者都SamAccountName
具有ObjectSID
该 SID。它看起来像来自旧域的帐户。fDeleted
是 1。
如何清理它以便升级?
添加的信息(来自 SQL 跟踪):
declare @p3 dbo.typ_ServicingStepDetail2
insert into @p3 values(1,'ToDev11Beta1FinalConfiguration','BuildToDev11Beta1FinalConfiguration','Grant Administer Build Permissions to Project Administrators','2013-04-12 14:17:55.617',NULL,0,N'Microsoft.TeamFoundation.Framework.Server.IdentitySyncException: Sync error for identity: System.Security.Principal.WindowsIdentity, S-1-5-21-xxxxx - No mapping between account names and security IDs was done
at Microsoft.TeamFoundation.Framework.Server.TeamFoundationIdentityService.TryReadIdentityFromSourceInternal(TeamFoundationRequestContext requestContext, IdentityDescriptor descriptor, Boolean withDirectMembership, TeamFoundationIdentity& identity)
at Microsoft.TeamFoundation.Framework.Server.TeamFoundationIdentityService.AddMemberToApplicationGroup(TeamFoundationRequestContext requestContext, IdentityDescriptor groupDescriptor, IdentityDescriptor memberDescriptor, Boolean errorOnDuplicate, Boolean logSync, Boolean ensureKnown)
at Microsoft.TeamFoundation.Framework.Server.TeamFoundationIdentityService.EnsureIsMember(TeamFoundationRequestContext requestContext, IdentityDescriptor groupDescriptor, IdentityDescriptor descriptor)
at Microsoft.TeamFoundation.Framework.Server.TeamFoundationSecurityNamespace.EnsureIdentityIsKnownInternal(TeamFoundationRequestContext requestContext, IdentityDescriptor identity, Boolean throwOnFailure)
at Microsoft.TeamFoundation.Framework.Server.TeamFoundationSecurityNamespace.SetAccessControlEntries(TeamFoundationRequestContext requestContext, String token, IEnumerable
Microsoft.TeamFoundation.Framework.Server.TeamFoundationSecurityNamespace.SetAccessControlEntries(TeamFoundationRequestContext requestContext, String token, IEnumerable`1 accessControlEntries, Boolean merge) at Microsoft.TeamFoundation.Server.Servicing.TFCollection.BuildStepPerformer.GrantAdministerPermissionsToProjectAdmins 的 1 accessControlEntries, Boolean merge, Boolean throwOnInvalidIdentity) (TeamFoundationRequestContext requestContext, ServicingContext servingContext) 在 Microsoft.TeamFoundation.Framework.Server.TeamFoundationStepPerformerBase.Microsoft.TeamFoundation.Framework.Server.IStepPerformer.PerformStep(String servingOperation, String stepType, String stepData, ServicingContext servingContext) 在 Microsoft.TeamFoundation.Framework.Server .ServicingStepDriver.PerformServicingStep(ServicingStep 步骤,ServicingContext servingContext, ServicingStepGroup 组, ServicingOperation servingOperation, Int32 stepNumber, Int32 totalSteps)') 插入@p3 值(2,'ToDev11Beta1FinalConfiguration','BuildToDev11Beta1FinalConfiguration','Grant Administer Build Permissions to Project Administrators','2013-04-12 14 :17:55.617',5,NULL,NULL)
exec prc_AddServicingStepDetails @jobId='xxx',@queueTime='2013-04-12 14:17:50.840',@stepDetails=@p3,@hostId='xxx',@completedStepCount=419`
所以看起来我可能有一个不再存在的项目管理员。关于如何手动删除该成员资格的任何想法?