<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>granth's blog : TSBT-TFS</title><link>http://blogs.msdn.com/granth/archive/tags/TSBT-TFS/default.aspx</link><description>Tags: TSBT-TFS</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>VSTS Pioneer TFS2010 Dogfood Server: Upgrading</title><link>http://blogs.msdn.com/granth/archive/2009/10/19/vsts-pioneer-tfs2010-dogfood-server-upgrading.aspx</link><pubDate>Mon, 19 Oct 2009 08:58:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9908975</guid><dc:creator>grantholliday</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/granth/comments/9908975.aspx</comments><wfw:commentRss>http://blogs.msdn.com/granth/commentrss.aspx?PostID=9908975</wfw:commentRss><wfw:comment>http://blogs.msdn.com/granth/rsscomments.aspx?PostID=9908975</wfw:comment><description>&lt;p&gt;&lt;i&gt;(&lt;a href="http://blogs.msdn.com/granth/archive/2009/08/27/vsts-pioneer-tfs2010-dogfood-server.aspx"&gt;See this summary on the VSTS Pioneer dogfood server&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/granth/archive/tags/Pioneer+Dogfood/default.aspx"&gt;all the other posts&lt;/a&gt;.)&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;One of the major goals of the Pioneer Team Foundation Server is to upgrade it to early builds so that we can get some “bake time” with them and feel confident with what we’re releasing to customers.&amp;#160; Since we spun up the server, we’ve done two successful upgrades and we’re already planning the next one:&amp;#160; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;July 1st – Initial installation of Beta 1 build &lt;/li&gt;    &lt;li&gt;August 29 – Upgrade to 8/22 build from the VSTS branch &lt;/li&gt;    &lt;li&gt;September 17 – Upgrade to 9/17 build from the Beta 2 branch&amp;#160; (yes, the build dropped at 5PM and we used it to upgrade at 6PM) &lt;/li&gt;    &lt;li&gt;November – Upgrade to a post-Beta2 build &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The process of testing the upgrades on a copy of our database is just as important as running the upgrade itself. With our interesting &lt;a href="http://blogs.msdn.com/granth/archive/2009/08/27/vsts-pioneer-tfs2010-dogfood-server-hardware-topology.aspx"&gt;dogfood topology&lt;/a&gt; of a dedicated SQL server, NLB/multiple application tiers, a dedicated MOSS server, virtual machines and use of virtual DNS names, we find some interesting bugs that we’re able to fix before things are locked down for shipping.&lt;/p&gt;  &lt;p&gt;There’s no whitepaper on “How to Dogfood” at Microsoft, so our process for deploying perpetual upgrades is something that just kind of happened. Here’s basically what we do:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/VSTSPioneerTFS2010DogfoodServerUpgrading_6912/image_4.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Dogfood Upgrade process" border="0" alt="Dogfood Upgrade process" src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/VSTSPioneerTFS2010DogfoodServerUpgrading_6912/image_thumb_1.png" width="640" height="255" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Depending on where we are in the cycle and the amount of churn in the code base, we might add another iteration or skip one. What’s most interesting about this process, is that it’s driven by the end date.&amp;#160; Based on the product schedule, we know when our windows of opportunity are for upgrading and we work back from then.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Tips for upgrading&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Here are some tips to consider when planning your own upgrades:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Hardware&lt;/strong&gt; – Get your production &amp;amp; pre-production servers in place early. Getting new hardware or re-configuring existing hardware usually has a long lead time.&amp;#160; Make sure that you’ve also got enough storage space. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Start fresh&lt;/strong&gt; – If at all possible, give yourself the best chance at success by starting with a fresh box. Sure, plenty of products support in-place upgrades &amp;amp; clean uninstalls – but in my experience, flattening the box and starting fresh lays a good foundation for the future. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Backups &lt;/strong&gt;– Organize a copy of your production backups that you can test the upgrade with. Not only does it give you peace of mind that your backups work, it also helps you line up the DBA’s for when it’s time to do the real upgrade. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Start with the latest OS &lt;/strong&gt;– If you start with Windows 2008 R2 now, it’s one less OS upgrade (and downtime) you’ll have to do in the future. It also means you’ll be on 64-bit, which is a very good thing. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Virtualization&lt;/strong&gt; – We run our 3x Application Tiers as virtual machines with no problems whatsoever. This is great for when we’re installing pre-beta copies of the .NET framework that don’t have clean uninstalls yet.&amp;#160; In our last upgrade we just turned off the old application tiers and spun up three fresh ones.&amp;#160; You can treat AT’s as throwaways in a TFS2010 NLB topology, since there is no state stored on them. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Dry-Runs&lt;/strong&gt; – Run through your plan and make sure everything is going to work. Review it with others and get their feedback. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Have a test plan&lt;/strong&gt; – Once you’ve done the upgrade, you need to be sure that everything is back online and working as expected. Checkin, Checkout, Open work item, Save work item, Web Access, Sharepoint, Reports, Cube, Alerts, Monitoring, Builds, etc. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Do pre-requisites ahead of time&lt;/strong&gt; – For example, to install SQL2008 you need to have .NET3.5 and Windows Installer 4.5 both installed first and both of these require a reboot.&amp;#160; If you plan to do one on the first weekend and the other on the second weekend, it means that you don’t waste time during your more important SQL upgrade waiting for reboots. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Do one thing at a time – &lt;/strong&gt;This is an extension of the last point. Let’s say you’re moving from a single-server TFS2008 SP1 on SQL2005 and Windows 2003 to a dual-server TFS2010 on SQL2008 SP1 and Windows 2008 R2.&amp;#160; If it were me, I’d take it in steps: upgrade SQL, make sure everything still works, move to dual-server, check again, upgrade to TFS2010.&amp;#160; The more steps you try and bundle together, the higher your risk of failure. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Upgrade logistics&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I’ve been involved with at least 5 major upgrades this year and here are some things I’ve learnt from running them:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Book a conference room &lt;/strong&gt;      &lt;ul&gt;       &lt;li&gt;This is the single most valuable thing you can do. Try and get anybody who is actually doing any steps in the upgrade (DBA&amp;lt; IT, Helpdesk, etc) to come to the room. &lt;/li&gt;        &lt;li&gt;Have a spare computer or project your own desktop on the screen. This is useful for synchronizing with others in the room, running ‘ping –t’ when a server reboots and doing “group debugging” sessions when problems happen. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Setup a “party line” conference call&lt;/strong&gt;. Invite anybody who wants to “listen in” to join. Invite your manager. &lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;It’s also useful for anybody who you might need help from to have these details. If things go south, you don’t waste time trying to setup a conference call – it’s already there. &lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Setup a live meeting / desktop sharing session&lt;/strong&gt;. Invite anybody who wants to be a “fly on the wall” to join.       &lt;ul&gt;       &lt;li&gt;Sure, you can log a bug that says “when I clicked on X on screen Y, setup blew up” and people might believe you. But if you’re sharing your desktop and other people see it happen, then you have some people to back you up. &lt;/li&gt;        &lt;li&gt;(I’ve been meaning to do a screen recording of our upgrades, but various technology problems have prevented it each time – I think it would be useful for reviewing and improving the process for next time) &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Setup an “on call / escalation” list&lt;/strong&gt;. Find out who you need to call if you have problems with one of your dependent systems. The last thing you want to be doing is sitting on hold to a L1 helpdesk if your server doesn’t reboot cleanly or something. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Send at least 3 notifications&lt;/strong&gt; to users of the downtime       &lt;ul&gt;       &lt;li&gt;1st Notice – Give as much notice as possible so people can plan milestones around the date.&amp;#160; Even if it’s not set in stone yet, people would rather know about it and have it cancelled than to find out at the last minute. &lt;/li&gt;        &lt;li&gt;2nd Notice – 7 days or on the Monday before a weekend upgrade is good for this. &lt;/li&gt;        &lt;li&gt;3rd Notice – On the day of the upgrade (or 24 hours before if it’s a weekend), send another one. &lt;/li&gt;        &lt;li&gt;Guidelines: Make sure you describe what the impact to users is, any actions they need to take and where they can go to get future status updates and support. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Provide regular status &lt;/strong&gt;to stakeholders.&amp;#160; Start an email thread and trickle through progress as it happens.&amp;#160; By keeping them informed, you buy their trust and their support when things don’t go as planned. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Planning your own upgrade&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Brian Keller has a great post on how to &lt;a href="http://blogs.msdn.com/briankel/archive/2009/10/02/get-ready-to-go-live-with-team-foundation-server-2010-beta-2.aspx "&gt;Get ready to “go live” with Team Foundation Server 2010 beta 2!&lt;/a&gt; He includes two useful documents:&lt;/p&gt;  &lt;li&gt;&lt;a href="http://cid-8c96cc4d0756cacb.skydrive.live.com/self.aspx/Public/Blog%20Attachments/Team%20Foundation%20Server%202010%20Beta%202%20Rollout.pptx"&gt;Overview presentation&lt;/a&gt; (.PPTX) &lt;/li&gt;  &lt;li&gt;&lt;a href="http://cid-8c96cc4d0756cacb.skydrive.live.com/self.aspx/Public/Blog%20Attachments/Team%20Foundation%20Server%202010%20Beta%202%20Rollout%20Guide.docx"&gt;Detailed checklist&lt;/a&gt; (.DOCX)     &lt;p&gt;I’m also going to share with you a copy of the generic deployment plan template that I’ve been using for the Pioneer upgrades.&lt;/p&gt; &lt;/li&gt;  &lt;li&gt;   &lt;p&gt;&lt;a href="http://blogs.msdn.com/granth/attachment/9908975.ashx"&gt;Deployment Plan Template&lt;/a&gt;(.XLSX)&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/granth/attachment/9908975.ashx"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Deployment Plan Template screenshot" border="0" alt="Deployment Plan Template screenshot" src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/VSTSPioneerTFS2010DogfoodServerUpgrading_6912/image_5.png" width="524" height="380" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Planning, testing and upgrading to these new releases has been a fun experience and it’s a bonus when everything goes smoothly. It’s great to see our experiences influence the product and make it the best release yet.&lt;/p&gt; &lt;/li&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9908975" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/granth/attachment/9908975.ashx" length="18156" type="application/octet-stream" /><category domain="http://blogs.msdn.com/granth/archive/tags/Team+System/default.aspx">Team System</category><category domain="http://blogs.msdn.com/granth/archive/tags/TFS/default.aspx">TFS</category><category domain="http://blogs.msdn.com/granth/archive/tags/TSBT-TFS/default.aspx">TSBT-TFS</category><category domain="http://blogs.msdn.com/granth/archive/tags/VSTSR/default.aspx">VSTSR</category><category domain="http://blogs.msdn.com/granth/archive/tags/TFS+at+Microsoft/default.aspx">TFS at Microsoft</category><category domain="http://blogs.msdn.com/granth/archive/tags/_2300_VSTS2010/default.aspx">#VSTS2010</category><category domain="http://blogs.msdn.com/granth/archive/tags/VSTS2010/default.aspx">VSTS2010</category><category domain="http://blogs.msdn.com/granth/archive/tags/VSTS+Administering/default.aspx">VSTS Administering</category><category domain="http://blogs.msdn.com/granth/archive/tags/Pioneer+Dogfood/default.aspx">Pioneer Dogfood</category></item><item><title>VSTS Pioneer TFS2010 Dogfood Server: Statistics September 2009</title><link>http://blogs.msdn.com/granth/archive/2009/10/19/vsts-pioneer-tfs2010-dogfood-server-statistics-september-2009.aspx</link><pubDate>Mon, 19 Oct 2009 07:13:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9908942</guid><dc:creator>grantholliday</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/granth/comments/9908942.aspx</comments><wfw:commentRss>http://blogs.msdn.com/granth/commentrss.aspx?PostID=9908942</wfw:commentRss><wfw:comment>http://blogs.msdn.com/granth/rsscomments.aspx?PostID=9908942</wfw:comment><description>&lt;p&gt;&lt;i&gt;(&lt;a href="http://blogs.msdn.com/granth/archive/2009/08/27/vsts-pioneer-tfs2010-dogfood-server.aspx"&gt;See this summary on the VSTS Pioneer dogfood server&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/granth/archive/tags/Pioneer+Dogfood/default.aspx"&gt;all the other posts&lt;/a&gt;.)&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;September was a busy month for dogfooding TFS – all of the VSTS team were completely moved across and on 9/17 we upgraded to an almost final TFS2010 Beta 2 build. Here are the numbers from the end of September:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Recent Users: 887 &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Version Control&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Files &amp;amp; Folders: 10,722,118 &lt;/li&gt;    &lt;li&gt;Compressed File Sizes (MB): 263,350 &lt;/li&gt;    &lt;li&gt;Uncompressed File Sizes (MB): 773,731 &lt;/li&gt;    &lt;li&gt;Checkins: 23,369 &lt;/li&gt;    &lt;li&gt;Pending Changes: 55,697 &lt;/li&gt;    &lt;li&gt;Local Copies: 303,331,190 &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Work Item Tracking&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;It looks like I don’t have the work item tracking stats for September – I’ll have them next month.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Commands (last 2 weeks in September)&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Work Item opens:&amp;#160; 113,128 &lt;/li&gt;    &lt;li&gt;Work Item queries: 101,203 &lt;/li&gt;    &lt;li&gt;Work Item updates: 23,653 &lt;/li&gt;    &lt;li&gt;Checkins: 1,855 &lt;/li&gt;    &lt;li&gt;Uploads: 6.622 &lt;/li&gt;    &lt;li&gt;Shelves: 2,402 &lt;/li&gt;    &lt;li&gt;Downloads: 216,452 &lt;/li&gt;    &lt;li&gt;Gets: 30,201 &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Table sizes&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;One of the interesting metrics that I’m also tracking is how our tables and indexes are growing on the disks. Here’s the top 10 for this month:&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="0" width="450"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td width="133"&gt;&lt;strong&gt;Table&lt;/strong&gt;&lt;/td&gt;        &lt;td width="80"&gt;&lt;strong&gt;Rows&lt;/strong&gt;&lt;/td&gt;        &lt;td width="70"&gt;&lt;strong&gt;Reserved (MB)&lt;/strong&gt;&lt;/td&gt;        &lt;td width="57"&gt;&lt;strong&gt;Data (MB)&lt;/strong&gt;&lt;/td&gt;        &lt;td width="51"&gt;&lt;strong&gt;Index (MB)&lt;/strong&gt;&lt;/td&gt;        &lt;td width="57"&gt;&lt;strong&gt;Unused (MB)&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="133"&gt;         &lt;p align="left"&gt;tbl_Content&lt;/p&gt;       &lt;/td&gt;        &lt;td width="80"&gt;         &lt;p align="right"&gt;5,915,547&lt;/p&gt;       &lt;/td&gt;        &lt;td width="70"&gt;         &lt;p align="right"&gt;277,260&lt;/p&gt;       &lt;/td&gt;        &lt;td width="57"&gt;         &lt;p align="right"&gt;275,129&lt;/p&gt;       &lt;/td&gt;        &lt;td width="51"&gt;         &lt;p align="right"&gt;4&lt;/p&gt;       &lt;/td&gt;        &lt;td width="57"&gt;         &lt;p align="right"&gt;2,127&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="133"&gt;         &lt;p align="left"&gt;tbl_LocalVersion&lt;/p&gt;       &lt;/td&gt;        &lt;td width="80"&gt;         &lt;p align="right"&gt;303,331,190&lt;/p&gt;       &lt;/td&gt;        &lt;td width="70"&gt;         &lt;p align="right"&gt;81,562&lt;/p&gt;       &lt;/td&gt;        &lt;td width="57"&gt;         &lt;p align="right"&gt;44,789&lt;/p&gt;       &lt;/td&gt;        &lt;td width="51"&gt;         &lt;p align="right"&gt;36,574&lt;/p&gt;       &lt;/td&gt;        &lt;td width="57"&gt;         &lt;p align="right"&gt;199&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="133"&gt;         &lt;p align="left"&gt;Attachments&lt;/p&gt;       &lt;/td&gt;        &lt;td width="80"&gt;         &lt;p align="right"&gt;63,783&lt;/p&gt;       &lt;/td&gt;        &lt;td width="70"&gt;         &lt;p align="right"&gt;11,928&lt;/p&gt;       &lt;/td&gt;        &lt;td width="57"&gt;         &lt;p align="right"&gt;11,908&lt;/p&gt;       &lt;/td&gt;        &lt;td width="51"&gt;         &lt;p align="right"&gt;13&lt;/p&gt;       &lt;/td&gt;        &lt;td width="57"&gt;         &lt;p align="right"&gt;7&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="133"&gt;         &lt;p align="left"&gt;tbl_Version&lt;/p&gt;       &lt;/td&gt;        &lt;td width="80"&gt;         &lt;p align="right"&gt;12,129,564&lt;/p&gt;       &lt;/td&gt;        &lt;td width="70"&gt;         &lt;p align="right"&gt;3,418&lt;/p&gt;       &lt;/td&gt;        &lt;td width="57"&gt;         &lt;p align="right"&gt;1,031&lt;/p&gt;       &lt;/td&gt;        &lt;td width="51"&gt;         &lt;p align="right"&gt;2,369&lt;/p&gt;       &lt;/td&gt;        &lt;td width="57"&gt;         &lt;p align="right"&gt;17&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="133"&gt;         &lt;p align="left"&gt;WorkItemLongTexts&lt;/p&gt;       &lt;/td&gt;        &lt;td width="80"&gt;         &lt;p align="right"&gt;2,728,618&lt;/p&gt;       &lt;/td&gt;        &lt;td width="70"&gt;         &lt;p align="right"&gt;3,314&lt;/p&gt;       &lt;/td&gt;        &lt;td width="57"&gt;         &lt;p align="right"&gt;2,533&lt;/p&gt;       &lt;/td&gt;        &lt;td width="51"&gt;         &lt;p align="right"&gt;777&lt;/p&gt;       &lt;/td&gt;        &lt;td width="57"&gt;         &lt;p align="right"&gt;5&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="133"&gt;         &lt;p align="left"&gt;tbl_VersionedItem&lt;/p&gt;       &lt;/td&gt;        &lt;td width="80"&gt;         &lt;p align="right"&gt;15,754,176&lt;/p&gt;       &lt;/td&gt;        &lt;td width="70"&gt;         &lt;p align="right"&gt;2,983&lt;/p&gt;       &lt;/td&gt;        &lt;td width="57"&gt;         &lt;p align="right"&gt;1,598&lt;/p&gt;       &lt;/td&gt;        &lt;td width="51"&gt;         &lt;p align="right"&gt;1,382&lt;/p&gt;       &lt;/td&gt;        &lt;td width="57"&gt;         &lt;p align="right"&gt;3&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="133"&gt;         &lt;p align="left"&gt;WorkItemsWere&lt;/p&gt;       &lt;/td&gt;        &lt;td width="80"&gt;         &lt;p align="right"&gt;1,239,831&lt;/p&gt;       &lt;/td&gt;        &lt;td width="70"&gt;         &lt;p align="right"&gt;2,482&lt;/p&gt;       &lt;/td&gt;        &lt;td width="57"&gt;         &lt;p align="right"&gt;1,617&lt;/p&gt;       &lt;/td&gt;        &lt;td width="51"&gt;         &lt;p align="right"&gt;863&lt;/p&gt;       &lt;/td&gt;        &lt;td width="57"&gt;         &lt;p align="right"&gt;2&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="133"&gt;         &lt;p align="left"&gt;tbl_PropertyValue&lt;/p&gt;       &lt;/td&gt;        &lt;td width="80"&gt;         &lt;p align="right"&gt;33,293,914&lt;/p&gt;       &lt;/td&gt;        &lt;td width="70"&gt;         &lt;p align="right"&gt;1,320&lt;/p&gt;       &lt;/td&gt;        &lt;td width="57"&gt;         &lt;p align="right"&gt;523&lt;/p&gt;       &lt;/td&gt;        &lt;td width="51"&gt;         &lt;p align="right"&gt;793&lt;/p&gt;       &lt;/td&gt;        &lt;td width="57"&gt;         &lt;p align="right"&gt;4&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="133"&gt;         &lt;p align="left"&gt;tbl_File&lt;/p&gt;       &lt;/td&gt;        &lt;td width="81"&gt;         &lt;p align="right"&gt;5,717,981&lt;/p&gt;       &lt;/td&gt;        &lt;td width="71"&gt;         &lt;p align="right"&gt;722&lt;/p&gt;       &lt;/td&gt;        &lt;td width="61"&gt;         &lt;p align="right"&gt;442&lt;/p&gt;       &lt;/td&gt;        &lt;td width="60"&gt;         &lt;p align="right"&gt;266&lt;/p&gt;       &lt;/td&gt;        &lt;td width="76"&gt;         &lt;p align="right"&gt;14&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9908942" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/granth/archive/tags/Team+System/default.aspx">Team System</category><category domain="http://blogs.msdn.com/granth/archive/tags/TFS/default.aspx">TFS</category><category domain="http://blogs.msdn.com/granth/archive/tags/TSBT-TFS/default.aspx">TSBT-TFS</category><category domain="http://blogs.msdn.com/granth/archive/tags/VSTSR/default.aspx">VSTSR</category><category domain="http://blogs.msdn.com/granth/archive/tags/TFS+at+Microsoft/default.aspx">TFS at Microsoft</category><category domain="http://blogs.msdn.com/granth/archive/tags/_2300_VSTS2010/default.aspx">#VSTS2010</category><category domain="http://blogs.msdn.com/granth/archive/tags/VSTS2010/default.aspx">VSTS2010</category><category domain="http://blogs.msdn.com/granth/archive/tags/VSTS+Version+Control/default.aspx">VSTS Version Control</category><category domain="http://blogs.msdn.com/granth/archive/tags/VSTS+Administering/default.aspx">VSTS Administering</category><category domain="http://blogs.msdn.com/granth/archive/tags/Pioneer+Dogfood/default.aspx">Pioneer Dogfood</category></item><item><title>VSTS Pioneer TFS2010 Dogfood Server: Statistics August 2009</title><link>http://blogs.msdn.com/granth/archive/2009/08/27/vsts-pioneer-tfs2010-dogfood-server-statistics-august-2009.aspx</link><pubDate>Fri, 28 Aug 2009 00:44:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9887468</guid><dc:creator>grantholliday</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/granth/comments/9887468.aspx</comments><wfw:commentRss>http://blogs.msdn.com/granth/commentrss.aspx?PostID=9887468</wfw:commentRss><wfw:comment>http://blogs.msdn.com/granth/rsscomments.aspx?PostID=9887468</wfw:comment><description>&lt;p&gt;&lt;i&gt;(This blog post is part of a series of posts on the new &lt;a href="http://blogs.msdn.com/granth/archive/2009/08/27/vsts-pioneer-tfs2010-dogfood-server.aspx"&gt;VSTS Pioneer TFS dogfood server&lt;/a&gt;.)&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;Everybody loves statistics, so here are the statistics for the first month on the VSTS Pioneer server.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Recent Users: 415&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Work Item Tracking&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Users with Assigned Work Items: 2,454&lt;/li&gt;    &lt;li&gt;Work Items: 111,319&lt;/li&gt;    &lt;li&gt;Areas &amp;amp; Iterations: 2,811&lt;/li&gt;    &lt;li&gt;Work Item Versions: 1,056,416&lt;/li&gt;    &lt;li&gt;Work Item Attachments: 50,833&lt;/li&gt;    &lt;li&gt;Work Item Queries: 2,965&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Version Control&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Files &amp;amp; Folders: 8,561,565&lt;/li&gt;    &lt;li&gt;Compressed File Sizes (MB): 325,080&lt;/li&gt;    &lt;li&gt;Uncompressed File Sizes (MB): 856,859&lt;/li&gt;    &lt;li&gt;Checkins: 18,867&lt;/li&gt;    &lt;li&gt;Shelvesets: 1,982&lt;/li&gt;    &lt;li&gt;Merge History: 1,789,333&lt;/li&gt;    &lt;li&gt;Pending Changes: 48,155&lt;/li&gt;    &lt;li&gt;Workspaces: 727&lt;/li&gt;    &lt;li&gt;Local Copies: 184,231,208&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;These statistics are captured by using the TFS Best Practices Analyzer and a custom configuration file. The configuration tells the BPA tool to run a series of &lt;a href="http://blogs.msdn.com/bharry/archive/2007/12/02/tfs-statistics-update.aspx"&gt;SQL queries&lt;/a&gt; and dump the results to an XML file. I have then created an XSLT that transforms the results into a more user-friendly HTML file. The BPA tool is then scheduled to run every night and generate a fresh set of statistics. I’m working with the TFS BPA team to get this configuration built into the next version of the BPA tool – I don’t have an ETA on when that will ship, but stay tuned.&lt;/p&gt;  &lt;p&gt;This month I’ve also pulled the last 30 days of PerfMon counters to see how our hardware choices are holding up. If you’d like to setup something like this for yourself, have a look at my &lt;a href="http://blogs.msdn.com/granth/archive/2008/09/23/relogging-perfmon-binary-log-files-to-sql.aspx"&gt;previous&lt;/a&gt; &lt;a href="http://blogs.msdn.com/granth/archive/2008/11/07/querying-perfmon-data-from-sql.aspx"&gt;posts&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Disk Performance&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Things are looking OK on the IO front. 95% of the time we’re pushing 45MB/sec (Read) and 33MB/sec (Write) or less to and from our storage. The response time is &amp;lt;40ms which is nothing to worry about for the configuration we have.&lt;/p&gt;  &lt;p&gt;   &lt;table border="1" cellspacing="0" cellpadding="0" width="549"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="bottom" width="167"&gt;           &lt;p&gt;&lt;strong&gt;LogicalDisk(_Total)&lt;/strong&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="118"&gt;           &lt;p&gt;&lt;b&gt; 50th Percentile &lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="135"&gt;           &lt;p&gt;&lt;b&gt; 95th Percentile &lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="128"&gt;           &lt;p&gt;&lt;b&gt; 99th Percentile &lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="167"&gt;           &lt;p&gt;Avg. Disk sec/Read&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="118"&gt;           &lt;p align="right"&gt;0.004 &lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="135"&gt;           &lt;p align="right"&gt;0.039 &lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="128"&gt;           &lt;p align="right"&gt;0.371 &lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="167"&gt;           &lt;p&gt;Avg. Disk sec/Write&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="118"&gt;           &lt;p align="right"&gt;0.003 &lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="135"&gt;           &lt;p align="right"&gt;0.023 &lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="128"&gt;           &lt;p align="right"&gt;0.063 &lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="167"&gt;           &lt;p&gt;Disk Read Bytes/sec&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="118"&gt;           &lt;p align="right"&gt;2,142,548 &lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="135"&gt;           &lt;p align="right"&gt;44,926,021 &lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="128"&gt;           &lt;p align="right"&gt;94,273,782 &lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="167"&gt;           &lt;p&gt;Disk Write Bytes/sec&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="118"&gt;           &lt;p align="right"&gt;1,908,518 &lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="135"&gt;           &lt;p align="right"&gt;33,029,252 &lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="128"&gt;           &lt;p align="right"&gt;70,802,346 &lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="167"&gt;           &lt;p&gt;Avg. Disk Bytes/Transfer&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="118"&gt;           &lt;p align="right"&gt;42,867 &lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="135"&gt;           &lt;p align="right"&gt;133,887&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="128"&gt;           &lt;p align="right"&gt;436,920 &lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;p&gt;&lt;b&gt;Memory&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;The memory usage on our SQL server has remained completely constant. This is because SQL is set to use a fixed amount and Analysis Services &amp;amp; Reporting Services share the rest.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;CPU Performance&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;(Avg: 32%). &lt;/em&gt;The majority of this usage is SQL Server, with a small portion going to Analysis Services &amp;amp; Reporting Services. It’s nice to see that we still have plenty of capacity left for the usage to grow.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/VSTSPioneerTFS2010DogfoodServerStatistic_CEFF/clip_image001_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image001" border="0" alt="clip_image001" src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/VSTSPioneerTFS2010DogfoodServerStatistic_CEFF/clip_image001_thumb.png" width="550" height="336" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;That’s all for statistics, stay tuned for more next month.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9887468" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/granth/archive/tags/Team+System/default.aspx">Team System</category><category domain="http://blogs.msdn.com/granth/archive/tags/TFS/default.aspx">TFS</category><category domain="http://blogs.msdn.com/granth/archive/tags/TSBT-TFS/default.aspx">TSBT-TFS</category><category domain="http://blogs.msdn.com/granth/archive/tags/VSTSR/default.aspx">VSTSR</category><category domain="http://blogs.msdn.com/granth/archive/tags/TFS+at+Microsoft/default.aspx">TFS at Microsoft</category><category domain="http://blogs.msdn.com/granth/archive/tags/Performance/default.aspx">Performance</category><category domain="http://blogs.msdn.com/granth/archive/tags/_2300_VSTS2010/default.aspx">#VSTS2010</category><category domain="http://blogs.msdn.com/granth/archive/tags/VSTS2010/default.aspx">VSTS2010</category><category domain="http://blogs.msdn.com/granth/archive/tags/VSTS+Planning+_2600_amp_3B00_+Tracking/default.aspx">VSTS Planning &amp;amp; Tracking</category><category domain="http://blogs.msdn.com/granth/archive/tags/VSTS+Version+Control/default.aspx">VSTS Version Control</category><category domain="http://blogs.msdn.com/granth/archive/tags/VSTS+Developing/default.aspx">VSTS Developing</category><category domain="http://blogs.msdn.com/granth/archive/tags/VSTS+Administering/default.aspx">VSTS Administering</category><category domain="http://blogs.msdn.com/granth/archive/tags/Pioneer+Dogfood/default.aspx">Pioneer Dogfood</category></item><item><title>VSTS Pioneer TFS2010 Dogfood Server – Hardware &amp; Topology</title><link>http://blogs.msdn.com/granth/archive/2009/08/27/vsts-pioneer-tfs2010-dogfood-server-hardware-topology.aspx</link><pubDate>Thu, 27 Aug 2009 18:23:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9887201</guid><dc:creator>grantholliday</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/granth/comments/9887201.aspx</comments><wfw:commentRss>http://blogs.msdn.com/granth/commentrss.aspx?PostID=9887201</wfw:commentRss><wfw:comment>http://blogs.msdn.com/granth/rsscomments.aspx?PostID=9887201</wfw:comment><description>&lt;P&gt;&lt;I&gt;(This blog post is part of a series of posts on the new &lt;A href="http://blogs.msdn.com/granth/archive/2009/08/27/vsts-pioneer-tfs2010-dogfood-server.aspx" mce_href="http://blogs.msdn.com/granth/archive/2009/08/27/vsts-pioneer-tfs2010-dogfood-server.aspx"&gt;VSTS Pioneer TFS dogfood server&lt;/A&gt;.)&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;While running the main TFS server for ~3,500 users in Developer Division we got a pretty good idea of the hardware required to support our enormous number of files, local versions &amp;amp; branches. &lt;/P&gt;
&lt;P&gt;We knew that:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;our SQL Server load patterns were very IO intensive&lt;/LI&gt;
&lt;LI&gt;our SQL Server load patterns were very CPU intensive&lt;/LI&gt;
&lt;LI&gt;our disk usage will grow by about 300% per year&lt;/LI&gt;
&lt;LI&gt;the number of operations the server performs will increase&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;Servers&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;We wanted to purchase and setup hardware that was flexible enough and designed to scale as our needs do. For this reason we settled on two identical servers that are part of the Microsoft IT recommended systems for our needs:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://h10010.www1.hp.com/wwpc/us/en/en/WF06a/15351-15351-3328412-241644-3328422-3454575.html" mce_href="http://h10010.www1.hp.com/wwpc/us/en/en/WF06a/15351-15351-3328412-241644-3328422-3454575.html"&gt;HP ProLiant DL580G5&lt;/A&gt; (room to add two more processors &amp;amp; upgradeable to 256GB RAM)&lt;/LI&gt;
&lt;LI&gt;Windows 2008 x64 SP2&lt;/LI&gt;
&lt;LI&gt;2x 6-core Intel Xeon X7460 2.66Ghz processors&lt;/LI&gt;
&lt;LI&gt;32GB RAM&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://www.qlogic.com/Products/SAN_products_FCHBA_QLE2460.aspx" mce_href="http://www.qlogic.com/Products/SAN_products_FCHBA_QLE2460.aspx"&gt;QLogic QLE2460 4Gbps Fiber Channel Host Bus Adapter&lt;/A&gt; (SAN connection)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;A href="http://sqlblog.com/blogs/joe_chang/archive/2008/08/19/recommended-server-systems-2008-q3.aspx" mce_href="http://sqlblog.com/blogs/joe_chang/archive/2008/08/19/recommended-server-systems-2008-q3.aspx"&gt;According to Joe Chang&lt;/A&gt; who studies SQL Server performance, the “The X7460 (Dunnington) is a clear winner at 4-way for the high-call volume apps.” The 6-core CPUs also offer a pretty significant performance boost over the older quad-core CPUs:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;“On TPC-C, the 7460 six core generated a 34% edge over the quad core AMD and 56% advantage over the quad core X3750”, and&lt;/LI&gt;
&lt;LI&gt;“On TPC-E, the six core showed a 49% edge over the older quad core”&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;Virtual Machines&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;We are running 5 virtual machines at the moment with almost identical configurations. Since we’ll be constantly upgrading things like the .NET CLR that often don’t support build-to-build upgrades or clean uninstall, running the application tiers as VM’s makes perfect sense. It also improves our rollback story if we have a failed upgrade. (More about upgrade in a future post). 
&lt;TABLE border=1 cellSpacing=0 cellPadding=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=129&gt;
&lt;P&gt;&lt;B&gt;VM&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=279&gt;
&lt;P&gt;&lt;B&gt;Purpose&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=289&gt;
&lt;P&gt;&lt;B&gt;Configuration&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=129&gt;
&lt;P&gt;AT01, AT02, AT03&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=279&gt;
&lt;P&gt;TFS Application Tier&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=289&gt;
&lt;P&gt;Windows Server 2008 R2&lt;/P&gt;
&lt;P&gt;4 Virtual processors&lt;/P&gt;
&lt;P&gt;4GB RAM&lt;/P&gt;
&lt;P&gt;2 Virtual NICs&lt;/P&gt;
&lt;P&gt;1 VHD for C$&lt;/P&gt;
&lt;P&gt;1 VHD for version control cache&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=129&gt;
&lt;P&gt;MIRROR&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=279&gt;
&lt;P&gt;TFS-TFS Connector tool runs here&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=289&gt;
&lt;P&gt;Windows Server 2008 RTM&lt;/P&gt;
&lt;P&gt;4 Virtual processors&lt;/P&gt;
&lt;P&gt;4GB RAM&lt;/P&gt;
&lt;P&gt;1 Virtual NIC&lt;/P&gt;
&lt;P&gt;1 VHD for C$&lt;/P&gt;
&lt;P&gt;1 VHD for version control temporary workspace&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=129&gt;
&lt;P&gt;MOSS&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=279&gt;
&lt;P&gt;Microsoft Office SharePoint 2007 SP2 (Complete install)&lt;/P&gt;
&lt;P&gt;Web Front End, Excel Services, Search Services &amp;amp; Shared Services Provider&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=289&gt;
&lt;P&gt;Windows Server 2008 R2&lt;/P&gt;
&lt;P&gt;4 Virtual processors&lt;/P&gt;
&lt;P&gt;4GB RAM&lt;/P&gt;
&lt;P&gt;1 Virtual NIC&lt;/P&gt;
&lt;P&gt;1 VHD for C$&lt;/P&gt;
&lt;P&gt;Databases reside on physical SQL server&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Storage&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;Since these servers are hosted by the DevDiv IT guys, we went with their recommendation for storage. They already have a massive storage infrastructure for build &amp;amp; drop servers built on &lt;A href="http://www.xiotech.com/" mce_href="http://www.xiotech.com/"&gt;Xiotech&lt;/A&gt; technology, so it was easy for them to add additional &lt;A href="http://www.xiotech.com/Products-and-Services_ISE.aspx" mce_href="http://www.xiotech.com/Products-and-Services_ISE.aspx"&gt;ISE units&lt;/A&gt; to meet our size &amp;amp; performance requirements. In the end we ended up with the following configuration:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;5TB of “Balanced” storage&lt;/LI&gt;
&lt;LI&gt;5TB of “Performance” storage&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;The &lt;A href="http://sqlcat.com/top10lists/archive/2007/11/21/storage-top-10-best-practices.aspx" mce_href="http://sqlcat.com/top10lists/archive/2007/11/21/storage-top-10-best-practices.aspx"&gt;SQL Customer Advisory Team’s – Storage Top 10 Best Practices&lt;/A&gt; is a great resource when planning your own TFS deployment. In particular we specifically considered the following:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Isolate log from data at the physical disk level (e.g. O$ drive is on separate spindles)&lt;/LI&gt;
&lt;LI&gt;Consider configuration of TEMPDB database (e.g. T$ drive is on separate spindles)&lt;/LI&gt;
&lt;LI&gt;Make sure to give thought to the growth strategy up front (e.g. We can add additional ISE units at any time and grow any drive without having to migrate data)&lt;/LI&gt;
&lt;LI&gt;Lining up the number of data files with CPU’s has scalability advantages for allocation intensive workloads. (e.g. we have 12 datafiles for TempDB because we have 12 CPU cores)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Here’s how the virtual disks (LUNs) are configured on the server:&lt;/P&gt;
&lt;P&gt;&lt;B&gt;SERVER1 (SQL, SSRS, SSAS)&lt;/B&gt; 
&lt;TABLE border=1 cellSpacing=0 cellPadding=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=64&gt;
&lt;P&gt;&lt;B&gt;Drive&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=268&gt;
&lt;P&gt;&lt;B&gt;Purpose&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=98&gt;
&lt;P&gt;&lt;B&gt;Storage Type&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=79&gt;
&lt;P&gt;&lt;B&gt;Size (Gb)&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=64&gt;
&lt;P&gt;E$&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=268&gt;
&lt;P&gt;SQL backup dump drive&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=98&gt;
&lt;P&gt;Balanced&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=79&gt;
&lt;P&gt;2741&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=64&gt;
&lt;P&gt;G$&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=268&gt;
&lt;P&gt;LocalVersion filegroup&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=98&gt;
&lt;P&gt;Performance&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=79&gt;
&lt;P&gt;1673&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=64&gt;
&lt;P&gt;I$&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=268&gt;
&lt;P&gt;OLAP data&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=98&gt;
&lt;P&gt;Balanced&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=79&gt;
&lt;P&gt;25&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=64&gt;
&lt;P&gt;J$&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=268&gt;
&lt;P&gt;All database data&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=98&gt;
&lt;P&gt;Performance&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=79&gt;
&lt;P&gt;1833&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=64&gt;
&lt;P&gt;K$&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=268&gt;
&lt;P&gt;Version filegroup&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=98&gt;
&lt;P&gt;Performance&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=79&gt;
&lt;P&gt;971&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=64&gt;
&lt;P&gt;O$&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=268&gt;
&lt;P&gt;Transaction Logs&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=98&gt;
&lt;P&gt;Balanced&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=79&gt;
&lt;P&gt;1500&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=64&gt;
&lt;P&gt;T$&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=268&gt;
&lt;P&gt;TempDB&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=98&gt;
&lt;P&gt;Performance&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=79&gt;
&lt;P&gt;500&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;SERVER2 (Hyper-V Host)&lt;/B&gt; 
&lt;TABLE border=1 cellSpacing=0 cellPadding=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=64&gt;
&lt;P&gt;&lt;B&gt;Drive&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=102&gt;
&lt;P&gt;&lt;B&gt;Purpose&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=75&gt;
&lt;P&gt;&lt;B&gt;Type&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=79&gt;
&lt;P&gt;&lt;B&gt;Size (Gb)&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=64&gt;
&lt;P&gt;E$&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=102&gt;
&lt;P&gt;Hyper-V VM's&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=75&gt;
&lt;P&gt;Balanced&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=79&gt;
&lt;P&gt;743&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;What’s cool about the Xiotech stuff is that it’s like Lego blocks – as you need more storage or more performance, you just buy more blocks and plug them in. What’s even cooler about it, is that you can control the SAN using web services – the build lab uses the &lt;A href="http://code.msdn.microsoft.com/sanman" mce_href="http://code.msdn.microsoft.com/sanman"&gt;SANMan&lt;/A&gt; tool they built to move virtual disks between build servers and automate the provisioning of disk space.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Topology&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;At just over 400 users, we probably don’t need three AT machines in a NLB configuration. However, NLB is an important new feature of TFS2010 and it’s a scenario that we need to dogfood for ourselves. &lt;/P&gt;
&lt;P&gt;Here’s some quick facts about our topology:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;We have a couple of “friendly name” DNS records for the NLB cluster IP, Reporting Services &amp;amp; Analysis Services – this allows us to change the underlying infrastructure without users having to connect to a new addresses.&lt;/LI&gt;
&lt;LI&gt;We’re running Windows 2008 R2 RTM on our VM’s &amp;amp; soon on our physical servers&lt;/LI&gt;
&lt;LI&gt;A single VM was created, then sysprep’d and copied. This means that we can spin up a new VM in a very short time period. (Copy VHD, Add to Hyper-V, Start, Join Domain, Apply Updates, Done.)&lt;/LI&gt;
&lt;LI&gt;SERVER2 is running an SMTP server that relays mail on behalf of each of the other servers. At Microsoft, the corporate mail servers will only accept mail from authenticated users that have mailboxes. By running the SMTP server as an authenticated user, it allows us to run the application tiers as Network Service. This means when we have to change a password to a service account, it doesn’t cause a TFS service interruption – just a brief SMTP interruption.&lt;/LI&gt;
&lt;LI&gt;Since all the SQL services are running on the same box, they don’t need to be run as a domain accounts either – no service interruption &amp;amp; less places that need a password changed when it expires.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;A href="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/VSTSPioneerTFS2010DogfoodServerHardwareT_9F35/clip_image001_2.png" mce_href="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/VSTSPioneerTFS2010DogfoodServerHardwareT_9F35/clip_image001_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image001 border=0 alt=clip_image001 src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/VSTSPioneerTFS2010DogfoodServerHardwareT_9F35/clip_image001_thumb.png" width=501 height=384 mce_src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/VSTSPioneerTFS2010DogfoodServerHardwareT_9F35/clip_image001_thumb.png"&gt;&lt;/A&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;That’s it for hardware and topology, next post is on performance and Dogfood statistics.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9887201" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/granth/archive/tags/Team+System/default.aspx">Team System</category><category domain="http://blogs.msdn.com/granth/archive/tags/TFS/default.aspx">TFS</category><category domain="http://blogs.msdn.com/granth/archive/tags/TSBT-TFS/default.aspx">TSBT-TFS</category><category domain="http://blogs.msdn.com/granth/archive/tags/VSTSR/default.aspx">VSTSR</category><category domain="http://blogs.msdn.com/granth/archive/tags/TFS+at+Microsoft/default.aspx">TFS at Microsoft</category><category domain="http://blogs.msdn.com/granth/archive/tags/_2300_VSTS2010/default.aspx">#VSTS2010</category><category domain="http://blogs.msdn.com/granth/archive/tags/VSTS2010/default.aspx">VSTS2010</category><category domain="http://blogs.msdn.com/granth/archive/tags/VSTS+Administering/default.aspx">VSTS Administering</category><category domain="http://blogs.msdn.com/granth/archive/tags/Pioneer+Dogfood/default.aspx">Pioneer Dogfood</category></item><item><title>TFS Performance Report Pack now works with SSRS2005</title><link>http://blogs.msdn.com/granth/archive/2009/06/23/tfs-performance-report-pack-now-works-with-ssrs2005.aspx</link><pubDate>Wed, 24 Jun 2009 06:40:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9800777</guid><dc:creator>grantholliday</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/granth/comments/9800777.aspx</comments><wfw:commentRss>http://blogs.msdn.com/granth/commentrss.aspx?PostID=9800777</wfw:commentRss><wfw:comment>http://blogs.msdn.com/granth/rsscomments.aspx?PostID=9800777</wfw:comment><description>&lt;p&gt;Back in February, I released some of the reports that were created for our internal TFS servers on my blog as the &lt;a href="http://blogs.msdn.com/granth/archive/2009/02/03/announcing-tfs-performance-report-pack.aspx"&gt;TFS Performance Report Pack&lt;/a&gt;. I got countless emails and comments on the fact that some of them didn’t work with SQL Reporting Services 2005. &lt;/p&gt;  &lt;p&gt;Fortunately, Jim Saunders from the &lt;a href="http://blogs.msdn.com/dstfs/"&gt;Developer Support team&lt;/a&gt; at Microsoft (who have a great blog!) has re-created the three reports in the pack that required SQL2008 Reporting Services. Just download a different version of the reports from &lt;a href="http://blogs.msdn.com/dstfs/attachment/9792042.ashx"&gt;here&lt;/a&gt; and replace the ones in the original zip file.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/dstfs/archive/2009/06/19/the-tfs-performance-report-pack-and-sql-server-2005-reporting-services.aspx"&gt;From the support team blog&lt;/a&gt;:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;...He lists SQL Server 2008 Reporting Services as a requirement, with a note that they &lt;em&gt;should&lt;/em&gt; work in SSRS 2005. It turns out some of the reports function under both SSRS 2008 and 2005, some do not. Several posters have mentioned incompatibilities with some reports and SSRS 2005.&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;These reports are compatible with either SSRS version:&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Server Status - Historical Performance Trends.rdl &lt;/li&gt;      &lt;li&gt;Server Status - Recent Performance Trends.rdl &lt;/li&gt;      &lt;li&gt;Server Status - Top Users Bypassing Proxies.rdl&lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;These reports require SSRS 2008:&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Execution Time Summary.rdl &lt;/li&gt;      &lt;li&gt;Execution Time for User.rdl &lt;/li&gt;      &lt;li&gt;Server Status - Source Control Request Queue.rdl&lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;I have created versions of the three reports above that are functionally similar to Grant's reports, but also work with SSRS 2005. You can download my updated reports &lt;a href="http://blogs.msdn.com/dstfs/attachment/9792042.ashx"&gt;here&lt;/a&gt;. To use my reports, install Grant's TFS Performance Report Pack, and replace the three reports with the versions in the zip file I provided. &lt;/p&gt;&lt;/blockquote&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9800777" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/granth/archive/tags/Team+System/default.aspx">Team System</category><category domain="http://blogs.msdn.com/granth/archive/tags/TFS/default.aspx">TFS</category><category domain="http://blogs.msdn.com/granth/archive/tags/TSBT-TFS/default.aspx">TSBT-TFS</category><category domain="http://blogs.msdn.com/granth/archive/tags/TFS+at+Microsoft/default.aspx">TFS at Microsoft</category><category domain="http://blogs.msdn.com/granth/archive/tags/Performance/default.aspx">Performance</category></item><item><title>TFS Adoption at Microsoft – May 2009</title><link>http://blogs.msdn.com/granth/archive/2009/06/23/tfs-adoption-at-microsoft-may-2009.aspx</link><pubDate>Wed, 24 Jun 2009 04:26:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9800598</guid><dc:creator>grantholliday</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/granth/comments/9800598.aspx</comments><wfw:commentRss>http://blogs.msdn.com/granth/commentrss.aspx?PostID=9800598</wfw:commentRss><wfw:comment>http://blogs.msdn.com/granth/rsscomments.aspx?PostID=9800598</wfw:comment><description>&lt;p&gt;As promised last week in my &lt;a href="http://blogs.msdn.com/granth/archive/2009/06/23/radiotfs-podcast-on-dogfooding-tfs.aspx"&gt;Dogfooding TFS show on the RadioTFS podcast&lt;/a&gt;, here is the latest on &lt;a href="http://blogs.msdn.com/granth/archive/tags/TFS+at+Microsoft/default.aspx"&gt;TFS within Microsoft&lt;/a&gt; that &lt;a href="http://blogs.msdn.com/granth/archive/2008/09/05/tfs-adoption-at-microsoft.aspx"&gt;myself&lt;/a&gt; and Brian &lt;a href="http://blogs.msdn.com/bharry/archive/2009/01/16/microsoft-tfs-adoption-update.aspx"&gt;have posted about in the past&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;May had the all-time peak in the total number of unique active users with 15,613. In addition, the total number of source code files stored surpassed 60 million. The total number of projects continues to increase and will end the fiscal year over 3,500, growing by over 1,300 in the last year.&amp;#160; MSIT RXD continues to lead the way using a TFS2010 pre-beta1 build with an average of 100 active users per week.&lt;/p&gt;  &lt;p&gt;Summary of growth indicators for the month:    &lt;table border="1" cellspacing="0" cellpadding="0" width="500"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="177"&gt;           &lt;p&gt;&lt;b&gt;May 2009&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="155"&gt;           &lt;p&gt;&lt;b&gt;Growth&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="166"&gt;           &lt;p&gt;&lt;b&gt;Totals&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="177"&gt;           &lt;p&gt;&lt;b&gt;Unique Active Users&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="155"&gt;           &lt;p&gt;+29&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="166"&gt;           &lt;p&gt;15,613&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="177"&gt;           &lt;p&gt;&lt;b&gt;Total Active Users&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="155"&gt;           &lt;p&gt;+24&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="166"&gt;           &lt;p&gt;17,680&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="177"&gt;           &lt;p&gt;&lt;b&gt;Projects&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="155"&gt;           &lt;p&gt;+98&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="166"&gt;           &lt;p&gt;3,434&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="177"&gt;           &lt;p&gt;&lt;b&gt;Work Items&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="155"&gt;           &lt;p&gt;+170,436&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="166"&gt;           &lt;p&gt;3,934,238&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="177"&gt;           &lt;p&gt;&lt;b&gt;Source Code Files&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="178"&gt;           &lt;p&gt;+1,760,516&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="214"&gt;           &lt;p&gt;60,253,062&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;p&gt;We call the internal TFS at Microsoft the “TFS Service Offering”. All the servers are setup and maintained by our partners in Microsoft IT.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;Active Users - Service Offering:&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;a href="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/TFSAdoptionatMicrosoftMay2009_FEF8/clip_image002_2.gif"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Active Users - Service Offering" border="0" alt="Active Users - Service Offering" src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/TFSAdoptionatMicrosoftMay2009_FEF8/clip_image002_thumb.gif" width="580" height="341" /&gt;&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;Projects &amp;amp; Unique Active Users Across Service Offering:&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;The number of team projects was up by 98 this month. Added to the chart this month are labels for the releases since January 2007 to give some perspective on growth and when versions were released.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/TFSAdoptionatMicrosoftMay2009_FEF8/clip_image004_2.gif"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/TFSAdoptionatMicrosoftMay2009_FEF8/clip_image004_thumb.gif" width="580" height="409" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/TFSAdoptionatMicrosoftMay2009_FEF8/clip_image006_2.gif"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image006" border="0" alt="clip_image006" src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/TFSAdoptionatMicrosoftMay2009_FEF8/clip_image006_thumb.gif" width="580" height="348" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;Team Builds:&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Combined data from across the Service Offering. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/TFSAdoptionatMicrosoftMay2009_FEF8/clip_image012_2.gif"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image012" border="0" alt="clip_image012" src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/TFSAdoptionatMicrosoftMay2009_FEF8/clip_image012_thumb.gif" width="580" height="334" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9800598" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/granth/archive/tags/Team+System/default.aspx">Team System</category><category domain="http://blogs.msdn.com/granth/archive/tags/TFS/default.aspx">TFS</category><category domain="http://blogs.msdn.com/granth/archive/tags/TSBT-TFS/default.aspx">TSBT-TFS</category><category domain="http://blogs.msdn.com/granth/archive/tags/Team+Build/default.aspx">Team Build</category><category domain="http://blogs.msdn.com/granth/archive/tags/TFS+at+Microsoft/default.aspx">TFS at Microsoft</category><category domain="http://blogs.msdn.com/granth/archive/tags/_2300_VSTS2010/default.aspx">#VSTS2010</category><category domain="http://blogs.msdn.com/granth/archive/tags/VSTS2010/default.aspx">VSTS2010</category></item><item><title>Visual Studio Team System 2010 Team Foundation Server Beta 1 Installation Problems</title><link>http://blogs.msdn.com/granth/archive/2009/05/20/visual-studio-team-system-2010-team-foundation-server-beta-1-installation-problems.aspx</link><pubDate>Wed, 20 May 2009 22:38:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9632755</guid><dc:creator>grantholliday</dc:creator><slash:comments>8</slash:comments><comments>http://blogs.msdn.com/granth/comments/9632755.aspx</comments><wfw:commentRss>http://blogs.msdn.com/granth/commentrss.aspx?PostID=9632755</wfw:commentRss><wfw:comment>http://blogs.msdn.com/granth/rsscomments.aspx?PostID=9632755</wfw:comment><description>&lt;p&gt;First of all, see my last post &lt;a href="http://blogs.msdn.com/granth/archive/2009/05/20/visual-studio-team-system-2010-beta-1-download-links.aspx"&gt;Visual Studio Team System 2010 Beta 1 Download Links&lt;/a&gt; for all the download links and installation docs. Also check out Brian Keller’s post on &lt;a href="http://blogs.msdn.com/briankel/archive/2009/05/18/using-a-download-manager-to-quickly-download-visual-studio-2010-beta-1.aspx"&gt;Using a download manager to quickly download Visual Studio 2010 Beta 1&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;We greatly value your feedback. Please fill in the &lt;a href="http://go.microsoft.com/fwlink/?LinkID=151489"&gt;Visual Studio 2010 and .NET Framework 4 Beta 1 Survey&lt;/a&gt; and visit the &lt;a href="http://go.microsoft.com/fwlink/?LinkID=151484"&gt;Microsoft Connect Beta 1 Feedback page&lt;/a&gt; to submit a bug or a suggestion.&lt;/p&gt;  &lt;p&gt;Also, the &lt;a title="Microsoft® Visual Studio® Team Foundation Server 2010 Beta1" href="http://social.msdn.microsoft.com/Forums/en-US/tfsprerelease/threads"&gt;Microsoft Visual Studio Team Foundation Server 2010 Beta1 Forums&lt;/a&gt; are being tracked by the product team so that you can get help with your installation issues and share feedback.&lt;/p&gt;  &lt;p&gt;If you don’t like forums, or you’d like to discuss TFS2010 with other people over email, you can also join the &lt;a href="http://oztfs.com/"&gt;OzTFS.com mailing list&lt;/a&gt; for the latest buss.&lt;/p&gt;  &lt;h3&gt;&lt;strong&gt;The Readme File&lt;/strong&gt;&lt;/h3&gt;  &lt;p&gt;In this post, I want to bring your attention to the &lt;a href="http://go.microsoft.com/fwlink/?LinkId=146330"&gt;Team Foundation Server Beta 1 Readme&lt;/a&gt; and the common gotchas I’ve seen people hit when installing TFS2010 Beta1.&lt;/p&gt;  &lt;p&gt;These are the issues I’ve hit myself (because I didn’t read the readme…)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;TF31001 &amp;quot;The ServicePointManager does not support proxies with the https scheme.&amp;quot;&lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;If you are trying to connect to a TFS server that is configured using HTTPS, then you might run into this issue.&lt;/p&gt;    &lt;p&gt;See &lt;a href="http://blogs.msdn.com/ablock/archive/2009/05/20/for-tfs-2010-beta-1-resolving-tf31001-the-servicepointmanager-does-not-support-proxies-with-the-https-scheme.aspx"&gt;Aaron Block’s blog post for all the details.&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;On all machines:&lt;/em&gt;&lt;/p&gt;    &lt;blockquote&gt;     &lt;p&gt;reg add hklm\SOFTWARE\Microsoft\VisualStudio\10.0\TeamFoundation\RequestSettings /v BypassProxyOnLocal /t REG_SZ /d False&lt;/p&gt;   &lt;/blockquote&gt;    &lt;blockquote&gt;     &lt;p&gt;reg add hklm\SOFTWARE\Microsoft\TeamFoundationServer\10.0\RequestSettings /v BypassProxyOnLocal /t REG_SZ /d False&lt;/p&gt;   &lt;/blockquote&gt;    &lt;p&gt;&lt;em&gt;Additionally on a 64-bit machine:&lt;/em&gt;&lt;/p&gt;    &lt;blockquote&gt;     &lt;p&gt;reg add hklm\SOFTWARE\Wow6432Node\Microsoft\TeamFoundationServer\10.0\RequestSettings /v BypassProxyOnLocal /t REG_SZ /d False&lt;/p&gt;   &lt;/blockquote&gt;    &lt;blockquote&gt;     &lt;p&gt;reg add hklm\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\TeamFoundation\RequestSettings /v BypassProxyOnLocal /t REG_SZ /d False&lt;/p&gt;   &lt;/blockquote&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;Initial Configuration of Team Foundation Server Should be Run From MSI Program or by Command Line&lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Initial Team Foundation Server configuration fails on Windows SharePoint configuration if you access the Team Foundation Configuration Tool by clicking the link in the Team Foundation Administration Console instead of by launching Team Foundation Configuration Tool at the end of the installation phase. &lt;/p&gt;    &lt;p&gt;&lt;u&gt;To resolve this issue: &lt;/u&gt;&lt;/p&gt;    &lt;p&gt;If you want to setup Windows SharePoint Server during Team Foundation Server configuration, you must launch the Team Foundation Server Configuration Tool by using one of the two following methods: &lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;&lt;font color="#ff0000"&gt;Launch the Team Foundation Configuration Tool by selecting the check box at the end of the Team Foundation Server installation&lt;/font&gt; &lt;/li&gt;      &lt;li&gt;If you exited Team Foundation Server MSI program (setup.exe) without launching Team Foundation Configuration Tool, do not start the Administration Console from the Start menu item shortcut. Instead use following command line: &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;%programfiles%\Microsoft team foundation server 10.0\tools\tfsmgmt.exe configure &lt;/p&gt;    &lt;p&gt;After Team Foundation Server has installed and configured Windows SharePoint, you can configure Team Foundation Server by using the Start menu to launch Team Foundation Server Administration Console.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;If you don’t do this, then your SharePoint configuration will be broken and you’ll get a 404 on the SharePoint Administration site. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Team Foundation Server Name May Not Be Over 14 Characters&lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#ff0000"&gt;The name of the server running Team Foundation Server may not be over 14 characters.&lt;/font&gt; &lt;/p&gt;    &lt;p&gt;&lt;u&gt;To resolve this issue: &lt;/u&gt;&lt;/p&gt;    &lt;p&gt;Use a valid NETBIOS name of 14 Characters or less for Team Foundation Server. Configuration fails if the name of the server running Team Foundation Server uses more than 14 characters.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;TF50363: The following display name is not valid&lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;This is due to a known bug in our upgrade scripts where in the Version Control db (TfsVersionControl) tbl_Identity table there exists one or more rows where the DisplayName field contains data that is not in the expected format of &lt;i&gt;domain\username&lt;/i&gt;&lt;em&gt;.&amp;#160; &lt;/em&gt;&lt;/p&gt;    &lt;p&gt;If you hit this error, the workaround is to update the row and prefix the existing value with a dummy domain name like 'domain\'.&lt;/p&gt;    &lt;p&gt;See Bryan Krieger’s blog post &lt;a href="http://blogs.msdn.com/bkrieger/archive/2009/05/21/tfs-2010-beta1-upgrade-may-fail-with-tf50363-the-following-display-name-is-not-valid.aspx"&gt;TFS 2010 Beta1 - Upgrade may fail with TF50363: The following display name is not valid.&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;Windows Server 2008 R2 RC &amp;amp; SQL Express&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Although Windows Server 2008 R2 RC is not officially supported by this build, it is possible to get TFS running using a couple of workarounds. See &lt;a href="http://blogs.msdn.com/dstfs/archive/2009/05/15/installing-tfs-2010-on-windows-server-2008-r2-rc.aspx"&gt;Installing TFS 2010 on Windows Server 2008 R2 RC&lt;/a&gt; from the TFS Developer Support team.&lt;/p&gt;  &lt;p&gt;I’ve also heard talking that that install will work OK with an odd error message, but SQL Express won’t run. Not sure on the details of this one. YMMV. It might need SQL Server 2008 SP1.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Visual Studio 2008 Compatibility with a Team Foundation Server 2010 server&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;We are planning a Forward Compat GDR for the VSTS 2008 SP1 client.&amp;#160; This set of features will allow the VSTS 2008 client users to have a good experience when connected to a TFS 2010 team project, but will not provide full 2010 functionality.&lt;/p&gt;  &lt;p&gt;Things that you should know:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Most &lt;b&gt;admin&lt;/b&gt; functionality can only be performed from a new client.       &lt;ul&gt;       &lt;li&gt;For example, we block PCW from the 2008 client to the 2010 server. &lt;/li&gt;        &lt;li&gt;We require the admin to have a 2010 client. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;In Work Item Tracking, we added hierarchy and other link types which the older client does not support.&amp;#160; The user experience is being improved with the GDR so the 2008 client user can distinguish which &lt;b&gt;queries&lt;/b&gt;&amp;#160; are supported and which do you need the 2010 client for. &lt;/li&gt;    &lt;li&gt;Work Item Tracking, also has a &lt;b&gt;new location for Reports&lt;/b&gt; with the addition of the Team Project Collection structure.&amp;#160; The GDR will allow the 2008 client to navigate to the new report location. &lt;/li&gt;    &lt;li&gt;Shared Documents, Process Guidance and the Project Portal locations can be configured so again we need the GDR to assist with the &lt;b&gt;new navigation&lt;/b&gt;. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Test Case Management&lt;/strong&gt; is also being enabled in the 2008 client using the GDR. &lt;/li&gt;    &lt;li&gt;Version Control is improving the &lt;b&gt;rename&lt;/b&gt; scenarios in the GDR. &lt;/li&gt;    &lt;li&gt;There are a bunch of error messages which will be more helpful as well. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;&lt;strong&gt;Readme Topics&lt;/strong&gt;&lt;/h3&gt;  &lt;p&gt;I know that people don’t read the &lt;a href="http://go.microsoft.com/fwlink/?LinkId=146330"&gt;Readme files&lt;/a&gt; (I’m guilty too) – so here are the headings from the Readme in the hope that you’ll at least browse these for potential issues first :)&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Installing      &lt;ul&gt;       &lt;li&gt;Upgrade Breaks Links on the SharePoint Products and Technology Portal &lt;/li&gt;        &lt;li&gt;Some Visual Studio Team System 2010 Features Not Available After Upgrade &lt;/li&gt;        &lt;li&gt;Initial Configuration of Team Foundation Server Should be Run From MSI Program or by Command Line &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Uninstalling      &lt;ul&gt;       &lt;li&gt;Need to uninstall TFS Object Model before uninstalling VSTS if installed from the web &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Product Issues      &lt;ul&gt;       &lt;li&gt;Managing Users on Upgraded Team Projects Might Result in Error TF50620 &lt;/li&gt;        &lt;li&gt;Cannot Install Team Foundation Build Service on Windows XP &lt;/li&gt;        &lt;li&gt;Require SSL Option Not Supported &lt;/li&gt;        &lt;li&gt;No Work Item Only View feature in Team System Web Access &lt;/li&gt;        &lt;li&gt;You Can Only Associate a Single URL with a Team Project in Team Explorer &lt;/li&gt;        &lt;li&gt;Team Foundation Server Service Account must be different then the account used for installing Team Foundation Server &lt;/li&gt;        &lt;li&gt;Uninstall Team Explorer Does Not Remove Visual Studio Shell &lt;/li&gt;        &lt;li&gt;Installing Team Foundation Server on a Windows Domain Requires a Live Connection to the Domain Controller &lt;/li&gt;        &lt;li&gt;Team Foundation Server Name May Not Be Over 14 Characters &lt;/li&gt;        &lt;li&gt;Do Not Launch Teamfoundation.msc Directly or Add to Microsoft Management Console (MMC) &lt;/li&gt;        &lt;li&gt;Changes to Lab Management Network Location Tab Requires an IIS Reset &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Converters      &lt;ul&gt;       &lt;li&gt;VSSConverter.exe Not Supported &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Office Integration      &lt;ul&gt;       &lt;li&gt;Office Integration Requires Manual Installation of Office Primary Interop Assemblies (PIA) on Windows XP &lt;/li&gt;        &lt;li&gt;Visual Studio Team System 2010 Installation Program Appears After You Launch Microsoft Project &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Process Templates and Team Project Portal      &lt;ul&gt;       &lt;li&gt;No Process Guidance Updates &lt;/li&gt;        &lt;li&gt;Capability Maturity Model Integration (CMMI) 5.0 Process Template Incomplete &lt;/li&gt;        &lt;li&gt;Remote Portal Running as Network Service Can Cause Broken Dashboards &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Reporting      &lt;ul&gt;       &lt;li&gt;Team Foundation Server Stops Collecting Reporting Data from the Team Project Collection &lt;/li&gt;        &lt;li&gt;Team Foundation Server Reports Are Out-of-date After Install/Upgrade &lt;/li&gt;        &lt;li&gt;Team Foundation Server Data Warehouse Custom Adapters Do Not Work &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Test Integration      &lt;ul&gt;       &lt;li&gt;No Test Steps, Repro Steps or Associated Automation Controls in Team System Web Access &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Compatibiltiy      &lt;ul&gt;       &lt;li&gt;Team Explorer 2008 or older client users can create new build definitions but they will not be able to edit them or to edit other, existing build definitions. &lt;/li&gt;        &lt;li&gt;Team Explorer 2008 or older clients will be able to submit changes that affect gated build definitions, but they will not be prompted with the confirmation dialog and, if their check-in affects multiple gated definitions, it will fail. &lt;/li&gt;        &lt;li&gt;Team Explorer 2008 or older clients will not be able to manage build resources using the “Manage Build Agents” dialog box. &lt;/li&gt;        &lt;li&gt;Microsoft Project plan documents created using a Team Explorer 2010 client, break when opened from a Team Explorer 2008 or older client. &lt;/li&gt;        &lt;li&gt;Navigation to non-default Shared Document, Project Portal and Process Guidance locations is broken for a Team Explorer 2008 SP1 or older clients. &lt;/li&gt;        &lt;li&gt;Navigation to new Reports is not supported for a Team Explorer 2008 SP1 or older clients. &lt;/li&gt;        &lt;li&gt;Work Item Tracking Queries with new functionality are not supported for a Team Explorer 2008 SP1 or older clients. &lt;/li&gt;        &lt;li&gt;Rename in Version Control is not supported for Team Explorer 2008 SP1 or older clients. &lt;/li&gt;        &lt;li&gt;Test Results Publishing is not supported for a Team Explorer 2008 SP1 or older clients. &lt;/li&gt;        &lt;li&gt;How to connect to Team Explorer 2010 to Team Foundation Server 2008 &lt;/li&gt;        &lt;li&gt;How to connect a Team Explorer 2008 SP1 to a Team Foundation Server 2010 Server &lt;/li&gt;        &lt;li&gt;Team Foundation Server 2010 administrative functions are only supported using Team Explorer 2010. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9632755" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/granth/archive/tags/Team+System/default.aspx">Team System</category><category domain="http://blogs.msdn.com/granth/archive/tags/TFS/default.aspx">TFS</category><category domain="http://blogs.msdn.com/granth/archive/tags/TSBT-TFS/default.aspx">TSBT-TFS</category><category domain="http://blogs.msdn.com/granth/archive/tags/VSTSR/default.aspx">VSTSR</category><category domain="http://blogs.msdn.com/granth/archive/tags/Team+Build/default.aspx">Team Build</category><category domain="http://blogs.msdn.com/granth/archive/tags/_2300_VSTS2010/default.aspx">#VSTS2010</category><category domain="http://blogs.msdn.com/granth/archive/tags/VSTS2010/default.aspx">VSTS2010</category></item><item><title>Announcing TFS Performance Report Pack</title><link>http://blogs.msdn.com/granth/archive/2009/02/03/announcing-tfs-performance-report-pack.aspx</link><pubDate>Wed, 04 Feb 2009 03:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9391592</guid><dc:creator>grantholliday</dc:creator><slash:comments>30</slash:comments><comments>http://blogs.msdn.com/granth/comments/9391592.aspx</comments><wfw:commentRss>http://blogs.msdn.com/granth/commentrss.aspx?PostID=9391592</wfw:commentRss><wfw:comment>http://blogs.msdn.com/granth/rsscomments.aspx?PostID=9391592</wfw:comment><description>&lt;p&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;Update 6/23/2009&lt;/strong&gt;: Due to popular demand, Jim from the Developer Support team at Microsoft has re-created the three reports that required SQL2008 Reporting Services. See the &lt;/font&gt;&lt;a href="http://blogs.msdn.com/dstfs/archive/2009/06/19/the-tfs-performance-report-pack-and-sql-server-2005-reporting-services.aspx"&gt;&lt;font color="#ff0000"&gt;support team blog for more details&lt;/font&gt;&lt;/a&gt;&lt;font color="#ff0000"&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;I’m on the team that runs the busiest Team Foundation Server at Microsoft. The Developer Division instance has over 3,500 active users and processes over 10,000,000 source control and work item tracking requests per day (not including the requests that our 5 proxy servers handle).&lt;/p&gt;  &lt;p&gt;We have a responsibility to ensure that the server is performing as expected and to identify any efficiencies that can be made in the server or the tools.&amp;#160; To do this, we have created a number of reports that we use ourselves and make available to our own users.&lt;/p&gt;  &lt;h3&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/h3&gt;  &lt;h3&gt;Download&lt;/h3&gt;  &lt;p&gt;We’re now making these reports available to you to install on your own server and monitor your TFS server’s performance. The plan is to eventually roll these into a power tool release or a subsequent release of VSTS but I’ll let you know more about that when it happens.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Download from here &lt;a href="http://blogs.msdn.com/granth/attachment/9391592.ashx" mce_href="http://blogs.msdn.com/granth/attachment/9391592.ashx"&gt;TFS Performance Report Pack.zip&lt;/a&gt; (~250Kb)&lt;/li&gt;    &lt;li&gt;&lt;font color="#ff0000"&gt;Download the SQL Server 2005 compatible reports from here &lt;/font&gt;&lt;a href="http://blogs.msdn.com/dstfs/attachment/9792042.ashx"&gt;&lt;font color="#ff0000"&gt;SRS2005CompatibleReports.zip&lt;/font&gt;&lt;/a&gt;&lt;font color="#ff0000"&gt;&amp;#160; (~13Kb)&lt;/font&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Requirements&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;SQL Server Reporting Services&lt;/li&gt;    &lt;li&gt;A user with read-only access to the TfsActivityLogging database &lt;/li&gt;    &lt;li&gt;A shared datasource to connect the report to (see below) &lt;/li&gt;    &lt;li&gt;Command Logging enabled - This logging is enabled by default in TFS 2008. &lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;In TFS 2005 you will have to &lt;a href="http://msdn.microsoft.com/en-us/library/ms400784(VS.80).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms400784(VS.80).aspx"&gt;enable the commandLogging flag in the Global Web.Config file&lt;/a&gt; (and the query for the report will be a little different). &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;h3&gt;Installing&lt;/h3&gt;  &lt;p&gt;The report pack consists of a ZIP file with a number of Report Definition (*.rdl) files.&amp;#160; These files are designed to be deployed onto your existing TFS reporting server, e.g. &lt;a href="http://your-tfsserver/Reports/" mce_href="http://your-tfsserver/Reports/"&gt;http://your-tfsserver/Reports/&lt;/a&gt; &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;As a TFS administrator, extract the files to your PC &lt;/li&gt;    &lt;li&gt;Open &lt;a href="http://your-tfsserver/Reports/" mce_href="http://your-tfsserver/Reports/"&gt;http://your-tfsserver/Reports/&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Create a new folder in Reporting Services called “Server Status” &lt;/li&gt;    &lt;li&gt;Create a new shared data source called “TfsActivityReportDS” and set the connection string to:      &lt;ol&gt;       &lt;li&gt;&lt;strong&gt;Data Source=localhost;Initial Catalog=TfsActivityLogging&lt;/strong&gt; &lt;/li&gt;        &lt;li&gt;Credentials: domain\user that has access to the TfsActivityLogging database &lt;/li&gt;        &lt;li&gt;Use as windows credentials when connecting to the data source &lt;/li&gt;     &lt;/ol&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Here’s an overview of what the reports look like and what questions you can answer with them.&lt;/p&gt;  &lt;h3&gt;Execution Time Summary&lt;/h3&gt;  &lt;p&gt;This report visualizes the load, in this case reflected by total execution time, on the server from two axis: users and commands.&lt;/p&gt;  &lt;p&gt;Use this report when you want to know:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Which commands account for the largest load on the server? &lt;/li&gt;    &lt;li&gt;Which tools / or users are putting the biggest load on the server? &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/image_thumb.png" width="240" height="189" mce_src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/image_thumb.png" /&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/image_4.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/image_thumb_1.png" width="244" height="230" mce_src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/image_thumb_1.png" /&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/image_6.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/image_thumb_2.png" width="244" height="176" mce_src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/image_thumb_2.png" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h3&gt;Server Status - Source Control Request Queue&lt;/h3&gt;  &lt;p&gt;Source Control is undoubtedly the application that consumes the most resources on an Application Lifecycle Management (ALM) Server. Across the day, a series of requests get queued to be processed as transactions are committed to the database. This report provides a view into that queue.&lt;/p&gt;  &lt;p&gt;Use this report when you want to know:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;If a request is blocking source control operations and for how long &lt;/li&gt;    &lt;li&gt;How healthy is the performance of version control on this hardware? &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Lots of red means that you have some long running operations and you may have some problems.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/image_8.png" mce_href="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/image_8.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/image_thumb_3.png" width="152" height="244" mce_src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/image_thumb_3.png" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h3&gt;Server Status - Top Users Bypassing Proxies&lt;/h3&gt;  &lt;p&gt;In the past, I’ve blogged a query to get this information – &lt;a href="http://blogs.msdn.com/granth/archive/2008/09/16/how-many-users-are-not-using-a-tfs-proxy-server.aspx" mce_href="http://blogs.msdn.com/granth/archive/2008/09/16/how-many-users-are-not-using-a-tfs-proxy-server.aspx"&gt;How many user’s are not using a TFS Proxy server?&lt;/a&gt; Internally, we have setup a scheduled subscription that emails this report twice a week.&lt;/p&gt;  &lt;p&gt;IT departments strive to provide the best level of service to their users. Hardware requirements planning and setting up proxies are activities that ensure optimal performance for their internal teams when interacting with team Foundation Server. This report allows administrators a view into which users are not complying with internal guidelines and hence decreasing overall server performance.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/image_10.png" mce_href="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/image_10.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/image_thumb_4.png" width="222" height="244" mce_src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/image_thumb_4.png" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Server Status - Historical Performance Trends&lt;/h3&gt;  &lt;p&gt;This report serves as a summary of the average response time for two of the Team Foundation Server subsystems: Work Item Tracking and Version Control&lt;/p&gt;  &lt;p&gt;Use this report when you want to know:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;How long are users, on average, waiting for a subsystem to process their request &lt;/li&gt;    &lt;li&gt;Which days of the week are the most critical when it comes to performance &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/clip_image002_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/clip_image002_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/clip_image002_thumb.jpg" width="244" height="171" mce_src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/clip_image002_thumb.jpg" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/clip_image004_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/clip_image004_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/clip_image004_thumb.jpg" width="244" height="165" mce_src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/clip_image004_thumb.jpg" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/image_12.png" mce_href="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/image_12.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/image_thumb_5.png" width="244" height="155" mce_src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/image_thumb_5.png" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h3&gt;Server Status - Recent Performance Trends&lt;/h3&gt;  &lt;p&gt;This report provides more data granularity about the performance of the server. We start with a view into the server average response time, now looking at the entire picture instead of broken down by subsystem. We then follow with charts relating information about version control downloads and average response time distributions for the same time period.&lt;/p&gt;  &lt;p&gt;Use this report when you want to know:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The correlation between degraded server performance and average response times by the subsystems &lt;/li&gt;    &lt;li&gt;How does a large number of downloads affect overall server performance &lt;/li&gt;    &lt;li&gt;Overall health indicator of the server &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/clip_image002%5B4%5D.jpg" mce_href="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/clip_image002%5B4%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[4]" border="0" alt="clip_image002[4]" src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/clip_image002%5B4%5D_thumb.jpg" width="244" height="148" mce_src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/clip_image002%5B4%5D_thumb.jpg" /&gt;&lt;/a&gt;&lt;a href="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/clip_image004%5B4%5D.jpg" mce_href="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/clip_image004%5B4%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image004[4]" border="0" alt="clip_image004[4]" src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/clip_image004%5B4%5D_thumb.jpg" width="244" height="117" mce_src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/clip_image004%5B4%5D_thumb.jpg" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/image_14.png" mce_href="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/image_14.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/image_thumb_6.png" width="244" height="198" mce_src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/AnnouncingTFSPerformanceReportPack_AFF5/image_thumb_6.png" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I hope that you find these reports useful. Please send any questions or feedback as comments to this post, or &lt;a href="http://blogs.msdn.com/granth/contact.aspx" mce_href="http://blogs.msdn.com/granth/contact.aspx"&gt;contact me via email&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9391592" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/granth/attachment/9391592.ashx" length="259047" type="application/x-zip-compressed" /><category domain="http://blogs.msdn.com/granth/archive/tags/Team+System/default.aspx">Team System</category><category domain="http://blogs.msdn.com/granth/archive/tags/TFS/default.aspx">TFS</category><category domain="http://blogs.msdn.com/granth/archive/tags/TSBT-TFS/default.aspx">TSBT-TFS</category><category domain="http://blogs.msdn.com/granth/archive/tags/TFS+at+Microsoft/default.aspx">TFS at Microsoft</category><category domain="http://blogs.msdn.com/granth/archive/tags/Performance/default.aspx">Performance</category></item><item><title>TFS Adoption at Microsoft – November 2008</title><link>http://blogs.msdn.com/granth/archive/2008/12/11/tfs-adoption-at-microsoft-november-2008.aspx</link><pubDate>Fri, 12 Dec 2008 04:38:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9199488</guid><dc:creator>grantholliday</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/granth/comments/9199488.aspx</comments><wfw:commentRss>http://blogs.msdn.com/granth/commentrss.aspx?PostID=9199488</wfw:commentRss><wfw:comment>http://blogs.msdn.com/granth/rsscomments.aspx?PostID=9199488</wfw:comment><description>&lt;p&gt;Every month our internal teams put together statistics on the TFS servers deployed at Microsoft. Previous statistics can be found here:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/bharry/archive/2008/10/04/update-on-tfs-adoption-at-microsoft.aspx"&gt;September 2008&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/granth/archive/2008/09/05/tfs-adoption-at-microsoft.aspx"&gt;August 2008&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/bharry/archive/2007/09/15/update-on-microsoft-tfs-adoption.aspx"&gt;August 2007&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/bharry/archive/tags/TFS+Dogfood+statistics/default.aspx"&gt;Developer Division Dogfood Statistics&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;One of the noteworthy milestones this month is &lt;b&gt;&lt;u&gt;total Work Items stored has now surpassed the 3,000,000 mark&lt;/u&gt;&lt;/b&gt;.&amp;#160; We’re also approaching 50 million Source Files stored.&amp;#160; &lt;/p&gt;  &lt;p&gt;Here’s the summary of growth indicators for the month:   &lt;table border="1" cellspacing="0" cellpadding="0" width="308"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="173"&gt;           &lt;p&gt;&lt;b&gt;November 2008&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="37"&gt;           &lt;p&gt;&lt;b&gt;Growth&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="96"&gt;           &lt;p&gt;&lt;b&gt;Totals&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="173"&gt;           &lt;p&gt;&lt;b&gt;Unique Active Users&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="37"&gt;           &lt;p&gt;+170&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="96"&gt;           &lt;p&gt;15,308&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="173"&gt;           &lt;p&gt;&lt;b&gt;Total Active Users&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="37"&gt;           &lt;p&gt;+377&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="96"&gt;           &lt;p&gt;17,388&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="173"&gt;           &lt;p&gt;&lt;b&gt;Projects&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="37"&gt;           &lt;p&gt;+125&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="96"&gt;           &lt;p&gt;2,749&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="173"&gt;           &lt;p&gt;&lt;b&gt;Work Items&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="37"&gt;           &lt;p&gt;+167,598&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="96"&gt;           &lt;p&gt;3,050,512&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="173"&gt;           &lt;p&gt;&lt;b&gt;Source Code Files&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="37"&gt;           &lt;p&gt;+2,441,418&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="96"&gt;           &lt;p&gt;47,418,877&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="173"&gt;           &lt;p&gt;&lt;b&gt;Total Builds&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="37"&gt;           &lt;p&gt;+60,121&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="96"&gt;           &lt;p&gt;584,380&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;p&gt;The Service Offering consists of 27 instances, 24 running on TFS 2008 SP1 and 3 running very early Rosario bits. &lt;/p&gt;  &lt;p&gt;&lt;img style="display: inline" title="clip_image002" border="0" alt="clip_image002" src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/TFSAdoptionatMicrosoftNovember2008_F81C/clip_image002_5.gif" width="570" height="329" /&gt;&lt;/p&gt;  &lt;p&gt;The total number of active unique users has grown 9% since July.&amp;#160; Also, as a reminder, In July 2008, the number of active users was adjusted to report on unique users only, eliminating duplicates across instances:&lt;/p&gt;  &lt;p&gt;&lt;img style="display: inline" title="clip_image002[4]" border="0" alt="clip_image002[4]" src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/TFSAdoptionatMicrosoftNovember2008_F81C/clip_image002%5B4%5D_1.gif" width="570" height="326" /&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9199488" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/granth/archive/tags/Team+System/default.aspx">Team System</category><category domain="http://blogs.msdn.com/granth/archive/tags/TFS/default.aspx">TFS</category><category domain="http://blogs.msdn.com/granth/archive/tags/TSBT-TFS/default.aspx">TSBT-TFS</category><category domain="http://blogs.msdn.com/granth/archive/tags/VSTSR/default.aspx">VSTSR</category><category domain="http://blogs.msdn.com/granth/archive/tags/TFS+at+Microsoft/default.aspx">TFS at Microsoft</category></item><item><title>Visual Studio 2010 CTP VPC will expire Jan 1 2009</title><link>http://blogs.msdn.com/granth/archive/2008/12/10/visual-studio-2010-ctp-vpc-will-expire-jan-1-2009.aspx</link><pubDate>Wed, 10 Dec 2008 12:42:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9190245</guid><dc:creator>grantholliday</dc:creator><slash:comments>8</slash:comments><comments>http://blogs.msdn.com/granth/comments/9190245.aspx</comments><wfw:commentRss>http://blogs.msdn.com/granth/commentrss.aspx?PostID=9190245</wfw:commentRss><wfw:comment>http://blogs.msdn.com/granth/rsscomments.aspx?PostID=9190245</wfw:comment><description>&lt;p&gt;If you are running the &lt;a href="http://go.microsoft.com/fwlink/?LinkId=129231"&gt;Visual Studio 2010 and .NET Framework 4.0 CTP&lt;/a&gt; under Virtual PC or Hyper-V, you should know that the copy of Visual Studio installed in the VPC is set to expire.&lt;/p&gt;  &lt;p&gt;After January 1, 2009, you will no longer be able to launch the Visual Studio in the VS2010 CTP. This is due to a hard-coded expiration date in this CTP. CTP's are pre-release software, so they aren't designed to run forever.&lt;/p&gt;  &lt;p&gt;If you haven’t disabled time synchronization before Jan 1 and you start Visual Studio – you will need to re-download the image and disable time synchronization before starting fresh.&lt;/p&gt;  &lt;h3&gt;Workaround for Virtual PC Users&lt;/h3&gt;  &lt;p&gt;See &lt;a href="http://blogs.msdn.com/briankel/archive/2008/10/27/visual-studio-2010-ctp-vpc-dealing-with-activation-messages.aspx"&gt;Brian Keller’s post on Dealing with Activation Messages&lt;/a&gt; for the full details. But essentially it boils down &lt;a href="http://blogs.msdn.com/virtual_pc_guy/archive/2007/11/28/disabling-time-synchronization-under-virtual-pc-2007.aspx"&gt;disabling time synchronization under Virtual PC 2007&lt;/a&gt; before the timebomb is hit.&lt;/p&gt;  &lt;h3&gt;Workaround for Hyper-V Users&lt;/h3&gt;  &lt;p&gt;If you &lt;a href="http://blogs.msdn.com/granth/archive/2008/11/03/converting-vs2010-ctp-to-hyper-v.aspx"&gt;converted the VPC to run under Windows 2008 Hyper-V using my previous instructions&lt;/a&gt;, disabling time synchronization is different. See &lt;a href="http://blogs.msdn.com/camerons/archive/2008/12/06/vsts-2010-ctp-hyper-v-and-january-1st-2009.aspx"&gt;Cameron Skinner’s post on disabling time synchronization in Hyper-V&lt;/a&gt; for the full details. You need to take a snapshot of the VM, shut it down and go into Settings &amp;gt;&amp;gt; Integration Services &amp;gt;&amp;gt; Time Synchronization and disabled it.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9190245" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/granth/archive/tags/Team+System/default.aspx">Team System</category><category domain="http://blogs.msdn.com/granth/archive/tags/TFS/default.aspx">TFS</category><category domain="http://blogs.msdn.com/granth/archive/tags/TSBT-TFS/default.aspx">TSBT-TFS</category><category domain="http://blogs.msdn.com/granth/archive/tags/VSTSR/default.aspx">VSTSR</category></item><item><title>Hosted Team Foundation Server</title><link>http://blogs.msdn.com/granth/archive/2008/12/02/hosted-team-foundation-server.aspx</link><pubDate>Wed, 03 Dec 2008 05:56:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9167890</guid><dc:creator>grantholliday</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/granth/comments/9167890.aspx</comments><wfw:commentRss>http://blogs.msdn.com/granth/commentrss.aspx?PostID=9167890</wfw:commentRss><wfw:comment>http://blogs.msdn.com/granth/rsscomments.aspx?PostID=9167890</wfw:comment><description>&lt;p&gt;Since the &lt;a href="http://www.tfsnow.com/"&gt;Readify TFSNow!&lt;/a&gt; hosted TFS offering that I helped to build is no longer in operation, people have asked if there is anybody else doing it.&lt;/p&gt;  &lt;p&gt;There are three partners that I know of that offer to run and maintain Team Foundation Server in the cloud for you:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.phase2.com/hosted_team_foundation_server_overview2.aspx"&gt;Phase2&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.teamdevcentral.com/overview.html"&gt;TeamDevCentral&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.saasmadeeasy.com/"&gt;Saas Made Easy&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.codeplex.com/"&gt;CodePlex&lt;/a&gt; – your project must be open source &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I don’t have any experience with any of them, so please let me know what you think.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9167890" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/granth/archive/tags/Team+System/default.aspx">Team System</category><category domain="http://blogs.msdn.com/granth/archive/tags/TFS/default.aspx">TFS</category><category domain="http://blogs.msdn.com/granth/archive/tags/TSBT-TFS/default.aspx">TSBT-TFS</category><category domain="http://blogs.msdn.com/granth/archive/tags/Other/default.aspx">Other</category></item><item><title>Remotely connecting to a Hyper-V virtual machine with networking disabled</title><link>http://blogs.msdn.com/granth/archive/2008/11/10/remotely-connecting-to-a-hyper-v-virtual-machine-with-networking-disabled.aspx</link><pubDate>Mon, 10 Nov 2008 21:59:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9058485</guid><dc:creator>grantholliday</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/granth/comments/9058485.aspx</comments><wfw:commentRss>http://blogs.msdn.com/granth/commentrss.aspx?PostID=9058485</wfw:commentRss><wfw:comment>http://blogs.msdn.com/granth/rsscomments.aspx?PostID=9058485</wfw:comment><description>&lt;p&gt;In a previous blog post, I explained the &lt;a href="http://blogs.msdn.com/granth/archive/2008/11/03/converting-vs2010-ctp-to-hyper-v.aspx"&gt;steps to convert the VS2010 CTP VPC from Virtual PC to Hyper-V&lt;/a&gt;. When using virtual machines, sometimes you don’t want them to be connected to any network. This is especially true with the Team Foundation Server 2010 CTP VPC – if you connect it to the network, it probably will stop functioning.&lt;/p&gt;  &lt;p&gt;This post explains how you can use the Hyper-V Virtual Machine Connection tool to connect to a VM running on a remote Hyper-V server. The way this works is that it connects to the Hyper-V instance, then directly to the virtual machine’s console on that instance. It doesn’t require the virtual machine to have networking support enabled.&lt;/p&gt;  &lt;p&gt;If your workstation is running Windows Server 2008, then you just need to install the Hyper-V tools and use them. If you are running Windows Vista on your remote workstation, you will need to install one of these packages:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=BF909242-2125-4D06-A968-C8A3D75FF2AA&amp;amp;displaylang=en"&gt;Hyper-V Remote Management Update for Vista&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a title="http://www.microsoft.com/downloads/details.aspx?familyid=88208468-0AD6-47DE-8580-085CBA42C0C2&amp;amp;displaylang=en" href="http://www.microsoft.com/downloads/details.aspx?familyid=88208468-0AD6-47DE-8580-085CBA42C0C2&amp;amp;displaylang=en"&gt;Hyper-V Remote Management Update for Vista x64&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You &lt;strong&gt;may&lt;/strong&gt; also need to &lt;a href="http://msdn.microsoft.com/en-us/library/aa389290(VS.85).aspx"&gt;enable remote WMI between your computers&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Once you have the VMConnect.exe tool installed at &amp;quot;C:\Program Files\Hyper-V\vmconnect.exe&amp;quot;, you can create a shortcut to connect directly to the virtual machine. The syntax is this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/RemotelyconnectingtoaHyperVvirtualmachin_9A78/image_2.png"&gt;&lt;img style="display: inline" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/RemotelyconnectingtoaHyperVvirtualmachin_9A78/image_thumb.png" width="417" height="308" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;So for example, to connect to the VM by the name of “VS2010CTP” running on the remote machine “MyHyperVServer”, create a shortcut like this:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;quot;C:\Program Files\Hyper-V\vmconnect.exe&amp;quot; MyHyperVServer VS2010CTP&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;See also:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/virtual_pc_guy/archive/2008/04/22/using-virtual-machine-connection-stand-alone.aspx"&gt;Using Virtual Machine Connection&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/virtual_pc_guy/archive/2008/01/17/allowing-non-administrators-to-control-hyper-v.aspx"&gt;Allowing non-administrators to control Hyper-V&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9058485" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/granth/archive/tags/Team+System/default.aspx">Team System</category><category domain="http://blogs.msdn.com/granth/archive/tags/TFS/default.aspx">TFS</category><category domain="http://blogs.msdn.com/granth/archive/tags/TSBT-TFS/default.aspx">TSBT-TFS</category><category domain="http://blogs.msdn.com/granth/archive/tags/VSTSR/default.aspx">VSTSR</category><category domain="http://blogs.msdn.com/granth/archive/tags/Other/default.aspx">Other</category></item><item><title>Downloading all PDC2008 session videos</title><link>http://blogs.msdn.com/granth/archive/2008/11/04/downloading-all-pdc2008-session-videos.aspx</link><pubDate>Wed, 05 Nov 2008 01:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9041862</guid><dc:creator>grantholliday</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/granth/comments/9041862.aspx</comments><wfw:commentRss>http://blogs.msdn.com/granth/commentrss.aspx?PostID=9041862</wfw:commentRss><wfw:comment>http://blogs.msdn.com/granth/rsscomments.aspx?PostID=9041862</wfw:comment><description>&lt;P&gt;If you missed out on PDC this year, you probably know that all the sessions were recorded and made available on MSDN’s Channel9. It’s not immediately obvious from the Channel9 site, but it is possible to get an RSS feed of all the videos that are available.&lt;/P&gt;
&lt;P&gt;This makes it very easy to download all the videos and convert them to your Zune for commute viewing.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;The RSS feed is: &lt;A title=http://channel9.msdn.com/posts/pdc2008/RSS/Default.aspx href="http://channel9.msdn.com/posts/pdc2008/RSS/Default.aspx" mce_href="http://channel9.msdn.com/posts/pdc2008/RSS/Default.aspx"&gt;http://channel9.msdn.com/posts/pdc2008/RSS/Default.aspx&lt;/A&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/DownloadingallPDC2008sessionvideos_CD9E/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/DownloadingallPDC2008sessionvideos_CD9E/image_2.png"&gt;&lt;IMG style="DISPLAY: inline" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/DownloadingallPDC2008sessionvideos_CD9E/image_thumb.png" width=570 height=289 mce_src="http://blogs.msdn.com/blogfiles/granth/WindowsLiveWriter/DownloadingallPDC2008sessionvideos_CD9E/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;If you want to download all the VSTS2010 sessions that our team presented, these are the direct URLs to the videos:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;U&gt;&lt;A href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL03.wmv" mce_href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL03.wmv"&gt;TL03 Microsoft Visual Studio Team System: Software Diagnostics and Quality for Services - Habib Heydarian; Justin Marks&lt;/A&gt;&lt;/U&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;&lt;A href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL04.wmv" mce_href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL04.wmv"&gt;TL04 Microsoft Visual Studio Team System Team Foundation Server: How We Use It at Microsoft - Stephanie Saad&lt;/A&gt;&lt;/U&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;&lt;A href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL09.wmv" mce_href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL09.wmv"&gt;TL09 Agile Development with Microsoft Visual Studio - Lori Lamkin, Sunder Raman&lt;/A&gt;&lt;/U&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;&lt;A href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL15.wmv" mce_href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL15.wmv"&gt;TL15 Architecture without Big Design Up Front - Peter Provost&lt;/A&gt;&lt;/U&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;&lt;A href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL24.wmv" mce_href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL24.wmv"&gt;TL24 Improving .NET Application Performance and Scalability - Steve Carroll, Ed Glas&lt;/A&gt;&lt;/U&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;&lt;A href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL37.wmv" mce_href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL37.wmv"&gt;TL37 Microsoft Visual Studio Team System: Leveraging Virtualization to Improve Code Quality with Team Lab - Ram Cherala&lt;/A&gt;&lt;/U&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;&lt;A href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL45.wmv" mce_href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL45.wmv"&gt;TL45 Microsoft Visual Studio Team System Database Edition: Overview - Gert Drapers&lt;/A&gt;&lt;/U&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL47.wmv" mce_href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL47.wmv"&gt;TL47 Visual Studio Team System: A Lap Around VSTS 2010 - Cameron Skinner&lt;/A&gt;&amp;nbsp;(&lt;STRONG&gt;recommended as an overview!&lt;/STRONG&gt;)&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;&lt;A href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL51.wmv" mce_href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL51.wmv"&gt;TL51 Research: Contract Checking and Automated Test Generation with Pex - Mike Barnett, Nikolai Tillmann&lt;/A&gt;&lt;/U&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;&lt;A href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL52.wmv" mce_href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL52.wmv"&gt;TL52 Team Foundation Server 2010: Cool New Features - Brian Harry&lt;/A&gt;&lt;/U&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;&lt;A href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL59.wmv" mce_href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL59.wmv"&gt;TL59 Visual Studio Debugger Tips &amp;amp; Tricks - John Cunningham&lt;/A&gt;&lt;/U&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;&lt;A href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL60.wmv" mce_href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL60.wmv"&gt;TL60 Improving Code Quality with Code Analysis - Ravs Kaur&lt;/A&gt;&lt;/U&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;&lt;A href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL61.wmv" mce_href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL61.wmv"&gt;TL61 Panel: The Future of Unit Testing - Euan Garden, Jim Newkirk, Peter Provost, Nikolai Tillmann&lt;/A&gt;&lt;/U&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;If you want to download all 130 videos (37Gb), then download the attached &lt;STRONG&gt;&lt;A href="http://blogs.msdn.com/granth/attachment/9041862.ashx" mce_href="http://blogs.msdn.com/granth/attachment/9041862.ashx"&gt;PDC2008_Videos.txt&lt;/A&gt;&lt;/STRONG&gt; file and import it into your favourite download tool. I like &lt;A href="http://www.freedownloadmanager.org/" mce_href="http://www.freedownloadmanager.org/"&gt;Free Download Manager&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9041862" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/granth/attachment/9041862.ashx" length="11945" type="text/plain" /><category domain="http://blogs.msdn.com/granth/archive/tags/Team+System/default.aspx">Team System</category><category domain="http://blogs.msdn.com/granth/archive/tags/TFS/default.aspx">TFS</category><category domain="http://blogs.msdn.com/granth/archive/tags/TSBT-TFS/default.aspx">TSBT-TFS</category><category domain="http://blogs.msdn.com/granth/archive/tags/VSTSR/default.aspx">VSTSR</category><category domain="http://blogs.msdn.com/granth/archive/tags/TFS+at+Microsoft/default.aspx">TFS at Microsoft</category></item><item><title>What’s the difference between tf workspace /delete and tf workspaces /remove?</title><link>http://blogs.msdn.com/granth/archive/2008/10/14/what-s-the-difference-between-tf-workspace-delete-and-tf-workspaces-remove.aspx</link><pubDate>Wed, 15 Oct 2008 03:59:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9000204</guid><dc:creator>grantholliday</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/granth/comments/9000204.aspx</comments><wfw:commentRss>http://blogs.msdn.com/granth/commentrss.aspx?PostID=9000204</wfw:commentRss><wfw:comment>http://blogs.msdn.com/granth/rsscomments.aspx?PostID=9000204</wfw:comment><description>&lt;p&gt;Today I needed to delete multiple workspaces. There are two separate commands for dealing with workspaces. &lt;/p&gt;  &lt;p&gt;The first is the “&lt;a href="http://msdn.microsoft.com/en-us/library/54dkh0y3.aspx"&gt;tf workspaces&lt;/a&gt;” command:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#ff0000"&gt;tf workspaces /remove&lt;/font&gt;:(*|workspace1[,workspace2,...]) /server:(*|server)&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The second is the “&lt;a href="http://msdn.microsoft.com/en-us/library/y901w7se.aspx"&gt;tf workspace&lt;/a&gt;” command:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#ff0000"&gt;tf workspace /delete&lt;/font&gt; [/server:servername] workspacename[;workspaceowner]&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;You might think that because the first command takes multiple items as parameters, it’s does “bulk workspace removal” – but it doesn’t :)&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;tf workspaces /remove - Removes the specified workspace entries for the specified server &lt;strong&gt;from the client cache&lt;/strong&gt;. &lt;/li&gt;    &lt;li&gt;tf workspace /delete - &lt;strong&gt;Deletes the specified workspace&lt;/strong&gt;. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;There’s also the “tfpt workspace” command from the &lt;a href="http://msdn.microsoft.com/en-us/tfs2008/bb980963.aspx"&gt;Team Foundation Power Tools&lt;/a&gt; that lets you change the computer associated with a workspace. This is useful in the scenario that you rebuild your machine with a new machine name, or you move to a different machine and take your external drive with you.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9000204" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/granth/archive/tags/Team+System/default.aspx">Team System</category><category domain="http://blogs.msdn.com/granth/archive/tags/TFS/default.aspx">TFS</category><category domain="http://blogs.msdn.com/granth/archive/tags/TSBT-TFS/default.aspx">TSBT-TFS</category><category domain="http://blogs.msdn.com/granth/archive/tags/Power+Tools/default.aspx">Power Tools</category></item><item><title>Query Work Items changed in recent hours</title><link>http://blogs.msdn.com/granth/archive/2008/10/01/query-work-items-changed-in-recent-hours.aspx</link><pubDate>Wed, 01 Oct 2008 23:45:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8972183</guid><dc:creator>grantholliday</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/granth/comments/8972183.aspx</comments><wfw:commentRss>http://blogs.msdn.com/granth/commentrss.aspx?PostID=8972183</wfw:commentRss><wfw:comment>http://blogs.msdn.com/granth/rsscomments.aspx?PostID=8972183</wfw:comment><description>&lt;p&gt;Yesterday I got another question on one of our internal mailing list and I remembered it as &lt;a href="http://www.mail-archive.com/listserver@oztfs.com/msg01359.html"&gt;one that I’ve answered before on OzTFS.com&lt;/a&gt;. The answer comes from &lt;a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1527744&amp;amp;SiteID=1"&gt;this MSDN forum post&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;By default, the TFS Work Item Query engine operates in “date precision” mode. This means that you can only run queries like:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Show me all the work items changed in the last &lt;strong&gt;week&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;Show me all the work items changed in the last &lt;strong&gt;day&lt;/strong&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;If you want to query on work items changed within a narrower timeframe, you’ll need to call the object model directly and turn off “date precision” mode. For example:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Show me all the work items that have &lt;strong&gt;changed since 5AM today&lt;/strong&gt;.&lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;using Microsoft.TeamFoundation.Client;     &lt;br /&gt;using Microsoft.TeamFoundation.WorkItemTracking.Client; &lt;/p&gt;    &lt;p&gt;namespace WorkItemQueryByHour     &lt;br /&gt;{      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; class Program      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; static void Main(string[] args)      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; TeamFoundationServer tfs = TeamFoundationServerFactory.GetServer(&amp;quot;&lt;font color="#ff0000"&gt;&lt;strong&gt;http://your-tfsserver:8080&lt;/strong&gt;&lt;/font&gt;&amp;quot;, new UICredentialsProvider());      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; WorkItemStore wis = (WorkItemStore)tfs.GetService(typeof(WorkItemStore)); &lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Query query = new Query(wis, &amp;quot;SELECT [System.Id], [System.Title], [System.ChangedDate] FROM WorkItems WHERE [System.ChangedDate] &amp;gt; '&lt;strong&gt;&lt;font color="#ff0000"&gt;2008-10-01 05:00:00&lt;/font&gt;&lt;/strong&gt;'&amp;quot;, null, &lt;strong&gt;&lt;font color="#ff0000"&gt;false&lt;/font&gt;&lt;/strong&gt;); &lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ICancelableAsyncResult car = query.BeginQuery();     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; WorkItemCollection items = query.EndQuery(car); &lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;}&lt;/p&gt;&lt;/blockquote&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8972183" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/granth/archive/tags/Team+System/default.aspx">Team System</category><category domain="http://blogs.msdn.com/granth/archive/tags/TFS/default.aspx">TFS</category><category domain="http://blogs.msdn.com/granth/archive/tags/TSBT-TFS/default.aspx">TSBT-TFS</category></item></channel></rss>