locked
Problem upgrading from TFS 2010 to TFS 2012 RC

    Question

  • I'm having problems upgrading a Team Project from TFS 2010 to TFS 2012 RC.  When I attach the project collection to the TFS2012 server, I'm getting the following error in the log file.  Does anybody know what this means?

    [13:22:07.953]   Upgrade Identities: Completed creating project scopes
    [13:22:07.970]   Upgrade Identities: Completed creating groups
    [13:22:08.153]   Upgrade Identities: Migrating inactive identities
    [13:22:08.660]   Skipping identity property restore. Snapshot does not include identity properties: Could not find the artifact type for property kind '2b258b5d-d41f-4657-8585-8bbbfec1052b'. The property kind was not properly defined.
    [13:22:09.093]   [Error] An item with the same key has already been added.
    [13:22:09.130]   System.ArgumentException: An item with the same key has already been added.
    [13:22:09.130]      at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
    [13:22:09.130]      at Microsoft.TeamFoundation.Framework.Server.IdentityIdMapper.MapToLocalId(TeamFoundationRequestContext requestContext, [13:22:09.130]      at Microsoft.TeamFoundation.Framework.Server.IdentityStore.ReadIdentitiesFromDatabase(TeamFoundationRequestContext requestContext, TeamFoundationDomain hostDomain, IdentityDescriptor[] descriptors, MembershipQuery queryMembership, IdentityIdMapper idMapper)
    [13:22:09.130]      at Microsoft.TeamFoundation.Framework.Server.IdentityStore.ReadIdentities(TeamFoundationRequestContext requestContext, TeamFoundationDomain hostDomain, IList`1 descriptors, MembershipQuery queryMembership, Boolean extendedProperties, IEnumerable`1 propertyNameFilters, IdentityPropertyScope propertyScope)
    [13:22:09.130]      at Microsoft.TeamFoundation.Framework.Server.TeamFoundationIdentityService.ReadIdentities(TeamFoundationRequestContext requestContext, IdentityDescriptor[] descriptors, MembershipQuery queryMembership, ReadIdentityOptions readOptions, IEnumerable`1 propertyNameFilters, IdentityPropertyScope propertyScope)
    [13:22:09.130]      at Microsoft.TeamFoundation.Framework.Server.TeamFoundationIdentityService.AddMemberToApplicationGroup(TeamFoundationRequestContext requestContext, IdentityDescriptor groupDescriptor, IdentityDescriptor memberDescriptor, Boolean errorOnDuplicate, Boolean logSync, Boolean ensureKnown)
    [13:22:09.130]      at Microsoft.TeamFoundation.Framework.Server.TeamFoundationSecurityNamespace.EnsureIdentityIsKnownInternal(TeamFoundationRequestContext requestContext, IdentityDescriptor identity, Boolean throwOnFailure)
    [13:22:09.130]      at Microsoft.TeamFoundation.Framework.Server.TeamFoundationSecurityNamespace.SetAccessControlEntries(TeamFoundationRequestContext requestContext, String token, IEnumerable`1 accessControlEntries, Boolean merge, Boolean throwOnInvalidIdentity)
    [13:22:09.130]      at Microsoft.TeamFoundation.Framework.Server.TeamFoundationSecurityNamespace.SetAccessControlEntries(TeamFoundationRequestContext requestContext, String token, IEnumerable`1 accessControlEntries, Boolean merge)
    [13:22:09.130]      at Microsoft.TeamFoundation.Framework.Server.TeamFoundationIdentityService.SetDefaultPermissions(TeamFoundationRequestContext requestContext, String token, IdentityDescriptor scopeAdministrators)
    [13:22:09.130]      at Microsoft.TeamFoundation.Server.Servicing.TFCollection.FrameworkStepPerformer.MoveIdentityDomain(String stepData, ServicingContext servicingContext, Boolean validateOnly)
    [13:22:09.130]      at Microsoft.TeamFoundation.Framework.Server.TeamFoundationStepPerformerBase.Microsoft.TeamFoundation.Framework.Server.IStepPerformer.PerformStep(String servicingOperation, String stepType, String stepData, ServicingContext servicingContext)
    [13:22:09.130]      at Microsoft.TeamFoundation.Framework.Server.ServicingStepDriver.PerformServicingStep(ServicingStep step, ServicingContext servicingContext, ServicingStepGroup group, ServicingOperation servicingOperation)
    [13:22:09.130] Step failed: Attach identity domain. Execution time: 1533 milliseconds.
    [13:22:09.153]   Removing item. Key: TargetRequestContext.
    [13:22:09.167]   Clearing dictionary, removing all items.

     

    Thursday, June 28, 2012 6:39 PM

Answers

  • Never mind.  I figured it out.

    The problem was caused by the fact that my production TFS server is running under a domain service account.  The new server I set up was running under NETWORK SERVICE.  Once I changed the service account on TFS 2012 RC to the same domain service account I used on the production server, the attach process was able to get past this issue.  Some other unrelated errors popped up, but I was able to work through those issues, and now the Project Collection shows up as "Online".

    • Marked as answer by Anthony Diaz Friday, June 29, 2012 5:08 PM
    Friday, June 29, 2012 5:08 PM

All replies

  • Hi Anthony,

    Thanks for your post.

    How did you upgrade from TFS 2010 to TFS 2012 RC, could you provide the detailed upgrade steps here?

    To upgrade from TFS 2010 to TFS 2012 RC, you can refer to the video: http://channel9.msdn.com/Blogs/VisualStudio/Upgrading-to-Team-Foundation-Server-11-Core-Server-Upgrade and this blog: http://blog.damianbrady.com.au/2012/06/03/upgrading-tfs2010-tfs2012-rc-done/.    


    John Qiao [MSFT]
    MSDN Community Support | Feedback to us

    Friday, June 29, 2012 6:01 AM
  • Hi John,

    My main objective is to have a new test environment with TFS 2012 RC running with a copy of our most complex project collection in production and keep my production environment using TFS 2010.  We have a project in this collection that uses the Build Management, Requirements Management/Work Item Tracking, Source Control and Testing Tools and we want to ensure the conversion is smooth and compare how things are different in the new version.

    To upgrade I did the following:

    1. Install TFS 2012 RC on a brand new Windows Server 2008 R2 (64-bit) server.  This new server has SQL Server 2012 Standard, SharePoint 2010 and TFS 2012 RC.

    2. I went to my production TFS 2010 server and detached the TFS collection through the Administration console (TFAC).

    3. Went to SQL Server Management Studio and detached the Project Collection database.

    4. Copied the Project Collection database and log file from the production server to the new server.

    5. Reattached everything in Production.

    6. Attached the copy of the Project Collection database to SQL 2012 Instance on new server.

    7. Attached Project Collection to TFS 2012 RC.  About 4.5 hours after starting this process, I got the error above.  If I try again, it fails immediately with the same error (it skips all the steps that are already completed).

    I believe this is the same process I followed a couple of years ago to upgrade this same project collection from TFS 2005 to TFS 2010.

    Friday, June 29, 2012 4:35 PM
  • Never mind.  I figured it out.

    The problem was caused by the fact that my production TFS server is running under a domain service account.  The new server I set up was running under NETWORK SERVICE.  Once I changed the service account on TFS 2012 RC to the same domain service account I used on the production server, the attach process was able to get past this issue.  Some other unrelated errors popped up, but I was able to work through those issues, and now the Project Collection shows up as "Online".

    • Marked as answer by Anthony Diaz Friday, June 29, 2012 5:08 PM
    Friday, June 29, 2012 5:08 PM
  • Hi Anthony, 

    Thanks for your reply.

    And thank you for sharing your experience here. It will be very beneficial for other community members having the similar questions.

    All your participation and support are very important to build such harmonious/ pleasant / learning environment for MSDN community. 


    John Qiao [MSFT]
    MSDN Community Support | Feedback to us

    Monday, July 02, 2012 1:58 AM