{"id":5051,"date":"2010-06-25T12:00:00","date_gmt":"2010-06-25T12:00:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/bharry\/2010\/06\/25\/tfs-2010-upgrade-issue\/"},"modified":"2018-08-14T00:20:17","modified_gmt":"2018-08-14T00:20:17","slug":"tfs-2010-upgrade-issue","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/bharry\/tfs-2010-upgrade-issue\/","title":{"rendered":"TFS 2010 Upgrade Issue"},"content":{"rendered":"<p>We have discovered a potentially serious issue that can affect upgrades from TFS 2005 or TFS 2008 to TFS 2010.&nbsp; The issue is triggered by a specific pattern of labels, renames, deletes and\/or branches that existed before the upgrade.&nbsp; Once the upgrade is complete the contents of the affected labels could be incorrect.&nbsp; Also some internal merge tracking data could be incorrect, resulting in the need to reapply previous merges.&nbsp; Under no circumstance will it cause the contents of any source code to be modified or lost.&nbsp; You can read more about the issue in this KB article: <\/p>\n<p><span style=\"font-family: 'Calibri','sans-serif';color: #1f497d;font-size: 11pt\"><a href=\"http:\/\/support.microsoft.com\/kb\/2135068\"><span style=\"color: #0000ff\">http:\/\/support.microsoft.com\/kb\/2135068<\/span><\/a> <\/span><\/p>\n<p>Any time TFS fails to properly preserve historical information, we take the issue VERY seriously and react quickly.&nbsp; So far we&rsquo;re heard of about 5 customers who&rsquo;ve been affected by this.&nbsp; We expect, based on the repro conditions, that relatively few people will but we&rsquo;re working hard to ensure anyone who is can get help and to enable future upgrades to avoid the issue altogether.<\/p>\n<p>If you haven&rsquo;t upgraded to 2010 yet, you&rsquo;re going want to know how to avoid the problem.&nbsp; The good news is that we have a fix that will prevent the issue.&nbsp; You can download the hot fix from the download tab of this Code Gallery page: <a href=\"http:\/\/code.msdn.microsoft.com\/KB2135068\" title=\"http:\/\/code.msdn.microsoft.com\/KB2135068\">http:\/\/code.msdn.microsoft.com\/KB2135068<\/a>.&nbsp; You will not need to change your planned upgrade process in any significant way.&nbsp; You will just need to insert a step.&nbsp; When you get to the end of the initial install page, you will get to a window that looks like below.&nbsp; You will want to uncheck the &ldquo;Launch Team Foundation Server Configuration Tool&rdquo; checkbox at the bottom left and click Finish.&nbsp; At this point you will run the hot fix I gave the link to above.&nbsp; TFS install is patched and you can continue with the upgrade process without fear of hitting the issue.&nbsp; To continue the upgrade process you need to run the Team Foundation Administration Console from the Microsoft Team Foundation Server group on the Start menu.&nbsp; It will then lead you through the rest of the upgrade process.<\/p>\n<p>One minor note to head off a likely question&hellip; Despite the fact that the patch file is named &ldquo;VS10-KB2135068-x86.exe&rdquo;, it will work on both 32 and 64-bit TFS installs.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/8\/2019\/02\/image_6.png\" \/><\/p>\n<p>The online install guide has been updated with a note about installing this important hot fix.<\/p>\n<p>We are also working on a new TFS installer that will include this hot fix so that down the road as people go to upgrade their servers, they won&rsquo;t have to learn about or separately install this hot fix.&nbsp; My hope is that the new installer is available within the next few weeks.<\/p>\n<p>If you&rsquo;ve already performed your upgrade, the first question you are going to want to know is whether or not you&rsquo;ve been affected.&nbsp; We&rsquo;ve built some scripts to help you identify any occurrences of the problem.&nbsp; Attached to this blog post are two sets of SQL scripts.&nbsp; One set can be used on a TFS 2010 project collection database to determine whether or not any errors were introduced in the upgrade process.&nbsp; Because some merge relationship information is potentially lost in the upgrade process, the scripts are &ldquo;pessimistic&rdquo; and may report a potential problem even if none exists.&nbsp; If the tool reports a problem, you will need to call customer support to have them help you confirm the issue and determine a strategy to correct it.<\/p>\n<p>The scripts to check a TFS 2010 upgraded database are in &ldquo;Check for&nbsp;Issue.zip&rdquo; attached to this blog post and include:<\/p>\n<ol>\n<li>MergeHistory2010 &ndash; returns the items which &ldquo;may&rdquo; have a missing relationship. It&rsquo;s possible for the script to generate false positives, so the customer should review the relationships and possibly call CSS before performing the baseless merge.<\/li>\n<li>Labels2010 &ndash; produces a best-effort list of labels that have issues.&nbsp; May generate false positives.<\/li>\n<\/ol>\n<p>Because we have to make pessimistic assumptions about what might be problem, you should consider going back restoring a copy of your TFS 2005 or TFS 2008 version control database and running the second set of scripts on them.&nbsp; Because they contain all pre-upgrade information, we can definitively whether or not the upgrade process will have introduced an error.<\/p>\n<p>The scripts to check a TFS 2008 or TFS 2005 version control database are included in the &ldquo;Check for Issue.zip&rdquo; file attached to this post and it includes:<\/p>\n<ol>\n<li>MergeHistory2008 &ndash; returns an &ldquo;Issue Exists&rdquo; if the customer is going to hit the problem and &ldquo;All Clear&rdquo; if not. <\/li>\n<li>Labels2008 &ndash; returns an &ldquo;Issue Exists&rdquo; if the customer is going to hit the problem and &ldquo;All Clear&rdquo; if not.<\/li>\n<\/ol>\n<p>UPDATE 6\/28\/10 &#8211; I&#8217;ve just added a new script to the attached zip file called &#8220;MergeHistory2008WithResults&#8221; that can be run against a TFS 2008 database (just like MergeHistory2008) but rather then just producing a boolean Issue Exists or All Clear, it returns a list of all of the merge sources and targets that are going to have problems when converted to 2010 without the hot fix.<\/p>\n<p>You can run these scripts any way you normally run a SQL script.&nbsp; For instance, you can paste them in to SQL Server Management Studio after connecting to the proper database or you can use OSQL to run them from the command line.<\/p>\n<p>Unfortunately, if you are affected, correcting it is not easy.&nbsp; You will need to call Customer Support and they will help you work through the issues.&nbsp; Customer support will not be charging for any incidents drectly stemming from this issue.<\/p>\n<p>I&rsquo;m very sorry for the difficulty that this has caused some of you.&nbsp; We are looking hard to understand how this escaped our QA process and what we can learn from it to avoid it in the future.&nbsp; The issue has actually been in the product since before Beta 1 and was not identified through the entire Beta testing process.&nbsp; I believe that, in part, this reflects the relative rarity with which people will hit this issue.<\/p>\n<p>Please let me know if there is anything I can do to help,<\/p>\n<p>Brian<\/p>\n<p><a href=\"https:\/\/msdnshared.blob.core.windows.net\/media\/MSDNBlogsFS\/prod.evol.blogs.msdn.com\/CommunityServer.Components.PostAttachments\/00\/10\/03\/03\/03\/Check%20For%20Issue.zip\">Check For Issue.zip<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We have discovered a potentially serious issue that can affect upgrades from TFS 2005 or TFS 2008 to TFS 2010.&nbsp; The issue is triggered by a specific pattern of labels, renames, deletes and\/or branches that existed before the upgrade.&nbsp; Once the upgrade is complete the contents of the affected labels could be incorrect.&nbsp; Also some [&hellip;]<\/p>\n","protected":false},"author":244,"featured_media":14617,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[5],"class_list":["post-5051","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-tfs"],"acf":[],"blog_post_summary":"<p>We have discovered a potentially serious issue that can affect upgrades from TFS 2005 or TFS 2008 to TFS 2010.&nbsp; The issue is triggered by a specific pattern of labels, renames, deletes and\/or branches that existed before the upgrade.&nbsp; Once the upgrade is complete the contents of the affected labels could be incorrect.&nbsp; Also some [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/posts\/5051","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/users\/244"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/comments?post=5051"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/posts\/5051\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/media\/14617"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/media?parent=5051"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/categories?post=5051"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/tags?post=5051"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}