I spent a good part of the last two days trying to get TFS 2012 set up. I thought it would be easier but I hit a few snags during the install. Most of the problems were around SQL Server configuration.
Prior to installing Team Foundation Server, you need to install SQL Server. You can check out the requirements here. In my case, I’m setting up a prototype Virtual Machine instance of TFS that I’ll blow away after I play around for a week. Then I’ll install our “production instance”. So for now, I’m using the SQL Server 2008 Developer R2 edition. I’m pretty sure that Developer is the same as Enterprise in most ways except the licensing.
Prior to install, I downloaded the installation guide which you can find here. Here is a screenshot from part of the documentation that I followed. Unfortunately, this documentation wasn’t specific enough. Note the part I circled that says “SQL Server R2”. Spoiler Alert: That isn’t specific enough!
I installed SQL Server 2008 Developer R2 easily enough. Then I installed TFS 2012. It started off smoothly but when I got to the configuration step TFS complained that I did not have the correct SQL Server! It turns out, what you really need is SQL Server 2008 R2, SP1 (service pack) with a minimum of CU1 (Cumulative Update). Wow, that is SQL Server – 2008 – R2 – SP1 – Cumulative Update 1. Ok, time to hit the internet again and download some patches. I installed SP1 easily enough. But I wasn’t very familiar with the cumulative updates. If I understand correctly, they are patches that come out in between service packs and are tested but not to the degree that a service pack is tested. I can’t say that made me feel all warm and fuzzy, but then again, this is a throw away VM so who cares. The updates are kind of weird, for some reason you can’t just download them. You have to request them from Microsoft. Then they send you an email with the download location. Here is a link to Cumulative update package 1 for SQL Server 2008 R2 Service Pack 1. The odd part is that the CUMULATIVE update is made up of several parts. It doesn’t feel very cumulative to me that way. I had more than one problem with the downloads. Sometimes the zip files would not extract properly. When that happened I got weird errors about needing a second dvd or cd or something! I ignored that and download them again. This time they extracted properly.
I took a guess at the order to install the multipart cumulative update. For some reason, the 3rd part would not install, it told me my SQL Server version was too high! After I installed them, I got the same error from TFS. My SQL Server was not up to the standards expected! I figured it had something to do with the failed update. When downloading the CU, I found out that CU1 was not the latest version. So I requested CU4 from Microsoft. I had similar problems downloading and extracting them. Again this was a multipart install. In this case, 3 of the parts worked but the last one failed! In this case the update simply rolled itself back but I don’t know why. I tried TFS again but it still complained. I went home for the night.
This morning I tried again. I decided to uninstall SQL Server and start again. I did my best to uninstall all of the updates and components of SQL Server but I was worried that I missed something. I went through a similar process. Install SQL Server 2008 R2, install SP1, and this time I started with CU4 instead of CU1. They are supposed to be Cumulative so I hoped it wouldn’t matter. Again I had the same problem installing part of CU4. And again, I got the same error from TFS.
I uninstalled SQL Server AGAIN! Again I installed SQL Server 2008 R2. Again SP1. Again I tried CU1. Again I got the same error installing one part of the update. Again I tried CU4. Again I got the error message during installation of part 4. And again, just for the heck of it, even though I got some errors, I tried to configure TFS 2012. AND IT WORKED! I don’t know why it worked. I didn’t think it would but it did. I swear this is just an example of brute force installation. Trying over and over again until something clicks right.
Now I need to figure out TFS. I am totally new to this product. I’ve been using SVN and GIT for source control, Team City for Continuous Integration, etc. And I’ve used a variety of bug tracking/task reporting products. However, my new employer uses TFS so it’s time for me to learn that too. I’m excited to use TFS for all that it can do. I’ll admit that I don’t love it for source control so far. But the promise of easy integration of all the parts should make it worthwhile.