Geeks With Blogs
Bob Palmer's Developer Blog .NET, SQL, and Silverlight Development

In my current job as a Senior ALM Consultant, part of what I do is help organizations get TFS set up and configured. While a single server installation is pretty easy (and using the basic configuration to install TFS on Windows 7 is even easier), there are a few pitfalls and points of frustration when setting TFS up in a two-server configuration.

For the purposes of this discussion, I am assuming the following setup:

  • - A database server (Data Tier) with SQL 2008 R2 to house the TFS Databases, Reporting Services, and Analysis Services.
  • - A separate server (App Tier) with the TFS Application Tier and Sharepoint Services.

The scope here is not to go into the general details of how to install TFS (there’s an excellent guide at ), but rather to cover a few things you’ll want to square away in advance to make the overall installation process less painful.

1. Create your service accounts in advance!
The guide recommends three accounts (TFSSERVICE, TFSREPORTS, and WSSSERVICE). I generally either go with these three, or just use the TFSSERVICE account in all places. In any case, make sure you use a domain account for these purposes.

2. Ensure the account you will be using to set up TFS has access to your SQL instance!
You will generally install your SQL 2008 R2 instance first, or concurrently with your TFS install.

Since we’re in a two server environment, you need to make sure that the account you log into on the App Tier is also a valid account in SQL Server. IT will also need the SysAdmin server role, since we’ll be creating and updating databases as part of installation.

3. Make sure your setup account is an administrator on both servers!
Significant pain can be avoided if you make sure that whatever account you are using to set up and install SQL Server and TFS is a local administrator on your servers. Do not use the domain administrator account! Use a domain user account with the appropriate access rights set up.

If, when you are setting up any of the services, you are asked for credentials of an account with admin rights, then you do not yet have sufficient trust. Log into the server as a local admin, and grant your installation account access as an administrator.

4. Make sure Windows Firewall is configured correctly!
And by this, I do not mean just turn it off. Best practice is to keep your firewall on, and enable just the ports needed for SQL and TFS to talk.

In this case, on your database server, create a new Inbound Rule that opens the following TCP ports: 135,1433,1434,2383, and 4022. An explanation of these ports can be found at .

5. Make sure Reporting Services is set up on your Data Tier!
You can do this via the Reporting Services Configuration Manager. You will need to hook to an instance, create databases, etc. - just follow the defaults and you will be in good shape.

6. Make sure you have SQL Client Tools Connectivity installed on the App Tier!
This is done primarily to allow us to test and make sure our Analysis Services instance is set up and running as part of installation. I generally install Management Studio as well to help in troubleshooting.

7. As you install your Application Tier, TEST all accounts and services where prompted!
This is pretty much one of the golden rules. There are a lot of opportunities as you go through the various steps to make sure everything is squared away - take advantage of these. If a test fails, then correct the issue first, and restart the wizard. This will help you work through a painless and successful installation!

Hopefully these tips help you out with your installation! And also remember to make sure you have the latest version of the installation guide, and follow it thoroughly.

Good luck!
-Bob Palmer

Posted on Sunday, July 10, 2011 10:39 AM | Back to top

Comments on this post: Tips for installing Team Foundation Server in a two-server environment

# re: Tips for installing Team Foundation Server in a two-server environment
Requesting Gravatar...
Hi Bob,

Is it okay to take away local admin rights to the database server once the install in complete? I will still retain the SQL db_owner privileges.
Left by Todd Fitzgeral Simon on Aug 18, 2011 11:54 AM

Your comment:
 (will show your gravatar)

Copyright © BobPalmer | Powered by: