Tim Elhajj

Off the Microsoft stack!

Install Team Foundation Server 2012


If you have SQL Server and SharePoint on the same server, and you intend to put TFS on that same server, then you might be able to use the TFS standard installation wizard. It’s designed to streamline the number of decisions you have to make during TFS installation. You have to have SQL Server set up on the default instance. We won’t cover the steps for installing TFS using the standard wizard in this book because it’s only a few screens. We will cover the advanced wizard. If you’re okay with the default TFS options, by all means use the standard wizard. If you use the advanced wizard and don’t change any of the default settings, you will end up with the exact same TFS installation as if you had used the standard wizard.

If you want more control over installation options, use the advanced configuration.

What Will I Need?

Whether you use standard or advanced TFS install wizards, you’ll need (at least) a single domain account for the report reader account. TFS uses this account to generate reports. If you installed SharePoint, we used this same account for the Farm Admin account in SharePoint.

TIP: The report reader account only needs the Allow log on locally permission, which all domain accounts have by default.

Why Use Advanced?

If you want to change the default installation options for Team Foundation Server, use the advanced configuration, which lets you configure Team Foundation Server on multiple servers and change many other options.

Why use advanced? The standard installation might not fit your needs. You might want to customize a single server installation or install Team Foundation Server and its configuration database on different servers. Perhaps you already have SQL Server or SharePoint Products running in your organization and you’d like to use one of these installations to host team projects or the data for Team Foundation Server. If you use the optional features that require prerequisite server software, these installations can also be hosted on different servers. If you use multiple servers, you can distribute the load between Team Foundation Server and the configuration database, or you can ensure that prerequisite server software for features such as reporting or the portal site is running on capable hardware.

Don’t confuse the multiple server installation with the robust scale-out features that Team Foundation Server offers. These scale-out features include the ability to create a Team Foundation Server farm and add a team project collection to an instance of SQL Server that was not part of the original deployment of Team Foundation Server. However, these scale-out features are not part of this scenario. This scenario offers you guidance for an initial deployment of Team Foundation Server that takes advantage of configurable installation options, such as installing TFS on more than one server. For more information about how to add an application-tier server to your deployment of Team Foundation Server, see How to: Create a Team Foundation Server Farm (High Availability).

TIP: A multiple-server installation requires an Active Directory domain and domain accounts or the Network Service account. You cannot use local accounts for service accounts.

Required permissions

To install TFS, you must be a member of the Windows Administrators security group.

To run any of the TFS configure wizards, you must be a member of the Windows Administrators security group on the server on which you will install Team Foundation Server. If you plan to configure reporting, you must also be a member of the Windows Administrators security group on the server that is running SQL Server Reporting Services. If you plan to configure SharePoint Products, you must be a member of the Farm Administrators group on the SharePoint Products administration site. If you did not install the Database Engine that will host the configuration database or a database administrator manages the instance of SQL Server that you are using, you must be a member of sysadmin Server role in SQL Server.

TIP: If you or your database administrator want a better understanding of the required SQL Server permissions, see the following page on the Microsoft website: Why does TFS need so much privilege on the SQL Server? (Brian Harry blog post)

To run the Team Foundation Server installer

1) Insert the Team Foundation Server DVD in the drive and launch the tfs_server.exe.

2) On the license terms dialog box, accept the license terms and then choose Install Now.

If you want to install Team Foundation Server to a specific location in the file system, choose the browse button (…) next to the default install location.

After TFS installs, some installations prompt you to enter a license key or accept a trial license.

To configure Team Foundation Server using the advanced configuration

1) In the Team Foundation Server Configuration tool, choose Advanced, and then choose Start Wizard.

2) Read the Welcome screen, and then choose Next.

3) In SQL Server Instance, type the name of the server that is running SQL Server or the named instance that will host the configuration databases, and choose Next.

You can also perform any of these optional steps:

* Select This instance is a SQL AwlaysOn Availability Group to specify that the SQL Server instance is an Availability Group Listener (AGL) and its availability group will host the TFS databases created during set up. See Use SQL Server 2012 Always On Availability Groups with Team Foundation Server.

* In Server Database Label, type a label string, which is then embedded into all three of the default database names. This technique enables you to use a single instance of SQL Server to host multiple configuration databases.

* Select the Use pre-existing empty database(s) check box, and then specify databases that are hosted on the server that is named in SQL Server Instance. You must create names for these databases by using the default naming structure, with or without a label. You can find the default naming structure under Team Foundation Server Databases.

* Choose Test to test the connectivity to SQL Server.

4) Under Service Account, choose Use a system account to use a built-in account.

Otherwise, choose Use a user account to use a domain or local account. If you are using a user account, you must type the password. To test the user account and password combination, you can optionally choose Test. Network Service is the default value for this service account.

If your report server and SharePoint servers are not installed on the same server as TFS, you should add this account to the Farm Administrators group (for SharePoint) and the content manager group on the report server. If you’re installing TFS on the same server as the report server and SharePoint, this account is added to these groups automatically.

5) Under Authentication Method, choose NTLM.

Otherwise choose Negotiate (Kerberos) and then choose Next. If you choose NTLM, NTLM authentication is used. This option is the default setting. If you choose Negotiate (Kerberos), Kerberos authentication is attempted first. If that attempt fails, NTLM authentication is used.

6) Under Web Site, you can use the default value in Port. This the port number used to connect to Team Foundation Server. The default value is 8080.

7) Under IIS Virtual Directory, you can use the default value of tfs or optionally type a virtual directory name.

8) Under Web Site, note the Team Foundation Server site URL, which is dynamically assembled based on your input in Web Site and IIS Virtual Directory. Clients use this URL to connect to Team Foundation Server. Choose Next.

On a client operating system, you must skip to step 11. You can’t add a portal or reporting (steps 9 and 10) on a client operating system.

9) Select the Configure Reporting for use with Team Foundation Server check box to use reporting, or clear the check box to skip reporting, and then choose Next.

A) Type the name of the server that is running SQL Server Reporting Services in Reporting Services Instance and choose Populate URLs. The URLs for the report server and its management site appear in the drop-down lists for Report Server URL and Report Manager URL.

B) Ensure the values displayed are the URLs that you want to use for Team Foundation Server and choose Next.

C) Type the name of the server that is running SQL Server Analysis Services in SQL Analysis Services Instance and choose Next. To test the connectivity to SQL Server, you can optionally choose Test.

D) Type the name and password of the report reader account and choose Next.

If you specified a user account for the service account of Team Foundation Server in step 4, you must select the Use a different account than the Team Foundation Server service account for the report reader account check box to use a different account. To test the user account and password combination, you can optionally choose Test.

10) Select the Configure SharePoint Products for use with Team Foundation Server check box to use SharePoint Products, or clear the check box to skip SharePoint Products. Choose Next.

If you selected the check box to configure SharePoint Products, you get a screen with two options. Choose Use the default SharePoint location if you’ve installed and configured SharePoint on the server where you’re installing TFS and choose Next.

Other possible options for SharePoint:

If you’ve installed SharePoint on a remote server, you can click Specify a SharePoint location. On the next screen you’ll enter the Site and Administration URLs for SharePoint farm you want to integrate with TFS. You’ll want to read the section on setting up a remote SharePoint site for TFS. See, What If I Already Have SharePoint?

TIP: If you’re installing on Windows Server 2008 or R2, you get an option to install SharePoint Foundation 2010. Once the installation completes, type a user account and password for the service account for SharePoint Foundation 2010. If you specified a user account for the service account of Team Foundation Server in step 4, you must select the Use a different account than the Team Foundation Server service account for the SharePoint farm check box to use a different account.

11) Select the Create a new team project collection check box to create a collection, or clear that check box to skip that step. If you create a collection, accept the default values, or type a new name and description. Choose Next.

12) On the Review page, review the settings, and choose Next.

The wizard validates your configuration.

If you run into a problem, you can use the detailed results to identify the issue. If you can fix it, click the link to run the checks again.

13) After you pass all the checks, choose Configure. The wizard applies configuration settings. This process might take several minutes.

14) At the success screen, choose Next.

15) Review the results of the success screen, including the connection URL for TFS and any details about the installation. Choose Close.

In the TFS Configuration Center, note that TFS extensions for SharePoint have already been installed, if you installed TFS and SharePoint on the same server.

After you close the TFS Configuration Center, the Team Foundation Server Administration Console appears.

Author: Tim Elhajj

Tim is probably walking his dog.

28 thoughts on “Install Team Foundation Server 2012

  1. Hi
    A good post!!

    I have recently installed TFS Server 2012 in basic mode. It created URL’s, SQL DB by default settings. I am ok with it
    But, I am facing challenge to connect to newly installed TFS means I am admin on machine and when I am trying to connect to tfs 2012 I am getting unauthorized error. is there any by default user for basic installation ? Any idea about issue?

  2. Huh. If you installed it, you should be able to use it. TFS will make the person who installs it a server admin.

    How are you trying to connect? With Visual Studio or a browser? Have you created a team project yet? Is there an error number or can you tell what is giving the error — is it from your browser, the TFS service or something else?

  3. Hi,

    Just read through your book and its great, one route that hasn’t been discussed though is if you’re running a migration from old hardware to new hardware when using AlywaysOn at the SQL Server end. I understand from the documentation that the AlwaysOn group has to be defined before setting up TFS on the new hardware which is fine but if that’s the case when can I restore the database backups generated from the old hardware? Do I selectively restore the existing databases or would you just use the same restore procedure?


  4. funkoid,

    I may not understand your question. Sounds like you’re doing a migration upgrade and you’ve already got the TFS data in an AlwaysOn availability group? If that’s the case, I see no reason why you can’t keep using the same availability group (assuming it’s on its own instance).

    The back up and restore procedures I wrote for the upgrade material were for backing up and restoring from one SQL Server instance to a brand new SQL Server instance with out using Always On, so that information is probably not much help to you.

    Good luck!

  5. Hey Tim do you know if it should be possible to migrate a TFS2010 configuration to TFS2012, but on the SAME SQLServer instance? I am upgrading, onto all new hardware APART FROM THE DB SERVER. So I want to back up my TFS2010 databases, restore them onto the same SQLServer instance (but different names obviously), and then install a new TFS2012 App tier and run the migration process on the newly restored DBs.

  6. Paul, that ought to work for the configuration database, but I haven’t tried it myself. When you run the TFS upgrade wizard, point it to the SQL Server and it will give you a list of databases you can upgrade. Your TFS 2010 data should appear twice — once for the existing server and the copy with the new name.

    Where is your report server? That will be the thing that might complicate matters. I suggest you use a naming structure similar to what TFS expects with database labels:


    I’m curious if this will work, as I haven’t tried it myself. I know the database label feature was added to allow customers to run multiple databases on the same SQL instance. I’m sure about upgrading the configuration database, but not really sure I’ve tried it with a report server. If you run into problems, let me know and I’ll dig into it.

    Make backups before you start. 🙂 Good luck!

  7. Thanks for the speedy reply Tim! After doing some more reading I’ve decided it’s WAY too risky for us to try this using one SQLServer instance. It could put all my developers out of action while I’m doing this. Instead I’m trying to get my DBAs to create an entirely separate SQLServer instance on the same SQLServer cluster. So I can keep the 2010 and 2012 databases completely separate. And that way I guess I will be able to follow the standard “Migration to new Hardware” upgrade path…

  8. A new instance on the same cluster will work just as well and sounds much less risky. Good luck!

  9. I’m getting error ” TF255344: Either a connection could not be made to the server that is running SQL Server Analysis Services, or the service is not running. For more information, review the following exception message: TF400670: Error encountered when creating connection to Analysis Services. Contact your Team Foundation Server administrator..

    TF255151: Service does not appear to be installed: SQL Server Analysis Services. Ensure the service is running before continuing.

  10. I’ve SQL 2012 installed, All features

  11. That’s odd. TFS can’t find SSAS. Is the service for SSAS running? Did you look in services control panel? do run> services.msc

  12. TF53010: The following error has occurred in a Team Foundation component or extension:
    Date (UTC): 15/10/2013 4:00:04 PM
    Machine: xxxx
    Application Domain: TfsJobAgent.exe
    Assembly: Microsoft.TeamFoundation.Framework.Server, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a; v4.0.30319
    Service Host:
    Process Details:
    Process Name: TFSJobAgent
    Process Id: 12084
    Thread Id: 11912

    Detailed Message: TF221122: An error occurred running job Full Analysis Database Sync for team project collection or Team Foundation server TEAM FOUNDATION.
    Exception Message: TF400670: Error encountered when creating connection to Analysis Services. Contact your Team Foundation Server administrator. (type AnalysisServiceConnectionException)
    Exception Stack Trace: at Microsoft.TeamFoundation.Warehouse.AnalysisServicesUtil.Connect(Server server, String serverName)
    at Microsoft.TeamFoundation.Warehouse.TFSOlapProcessComponent.GetLastProcessedTimeStamp(String serverName, String dbName)
    at Microsoft.TeamFoundation.Warehouse.TFSOlapProcessComponent.DetermineProcessType(TeamFoundationRequestContext requestContext, AnalysisDatabaseProcessingType desiredProcessingType, Boolean& lastProcessingFailed, Boolean& needCubeSchemaUpdate)
    at Microsoft.TeamFoundation.Warehouse.AnalysisDatabaseSyncJobExtension.RunInternal(TeamFoundationRequestContext requestContext, TeamFoundationJobDefinition jobDefinition, DateTime queueTime, String& resultMessage)
    at Microsoft.TeamFoundation.Warehouse.WarehouseJobExtension.Run(TeamFoundationRequestContext requestContext, TeamFoundationJobDefinition jobDefinition, DateTime queueTime, String& resultMessage)

    Inner Exception Details:

    Exception Message: A connection cannot be made. Ensure that the server is running. (type ConnectionException)
    Exception Stack Trace: at Microsoft.AnalysisServices.XmlaClient.GetTcpClient(ConnectionInfo connectionInfo)
    at Microsoft.AnalysisServices.XmlaClient.OpenTcpConnection(ConnectionInfo connectionInfo)
    at Microsoft.AnalysisServices.XmlaClient.Connect(ConnectionInfo connectionInfo, Boolean beginSession)
    at Microsoft.AnalysisServices.Server.Connect(String connectionString, String sessionId)
    at Microsoft.TeamFoundation.Warehouse.AnalysisServicesUtil.Connect(Server server, String serverName)

    Inner Exception Details:

    Exception Message: No connection could be made because the target machine actively refused it (type SocketException)
    Exception Stack Trace: at System.Net.Sockets.TcpClient..ctor(String hostname, Int32 port)
    at Microsoft.AnalysisServices.XmlaClient.GetTcpClient(ConnectionInfo connectionInfo)

  13. Anyone aware of the above error in TFS 2010?

  14. kccrga — hard to say from just looking at the message. Have you tried using BPA to get more information? If anyone isn’t familiar, BPA is the Best Practice Analyzer. You install it on your TFS server (or anywhere, but it gives you more information if it’s installed local to the software you want to inspect — so, for this error with the SQL server analysis server, you might want to install BPA on the server that’s running analysis services)


  15. Also, did you see this blog? It’s got a similar error with analysis services. Did anything change prior to getting the error?


  16. Thanks for great topic.

    I have installed and config TFS working, but i have small question look like noob :(.. Each part of project need connect to SQL server to test data. How can setup for our developer can connect and testing with only one database on TFS, i mean server installed SQL server and running with TFS. They dont need to modify connection string to test with their local database.


  17. Yuchiro —

    Once you get TFS installed, you should setup a team project and then connect to it with one of the clients, like Visual Studio or Web Access. Use those tools to add source code, create bugs and collaborate. Here is a topic on MSDN that offers guidance:


    Let me know if you need more information.

  18. Hi,
    Is this the same process to be followed up when trying to install in Windows server 2012.
    Because got an info that the Sharepoint 2010 cannot be installed in server 2012 if we go through the standard configuratiojn

  19. Kumar, Windows Server 2012 blocks SharePoint 2010. If you want SharePoint 2010, you have to use a different OS or set up remote SharePoint on a supported OS. Here is the MSDN topic for setting up remote SharePoint for TFS:


    Good luck. Let me know how you make out.

  20. Hi Tim.
    I have server 2012 and now need to install TFS 2012.
    Is that the sql server has to be already loaded on the server before installing TFS 2012.
    Also what are other prerequistes that should be readily available before proceeding with TFS installation

  21. Hello J, You do need SQL Server, but it doesn’t have to be on the same server as TFS. SQL Server is the big prerequisite for TFS. If you just want to get started quickly, you can install TFS basic, which comes with SQL Server Express. Good luck. Let me know how you make out.

  22. I too was getting TF255344 issue with sql server analysis services. SSAS was already running under a domain account. The event log showed problems with SSAS reading cube files. I added that domain account to the server Administrators and that resolved my issue.

  23. Thank you mack! Some users were having trouble with that same issue not too long ago.

  24. Time, i’ve got a new server 2012 (nothing installed, not even the IE is setup). Could you please suggest on what are the primary steps to be followed befroe getting into the installation of TFS 2012

  25. This page walks you through exactly such tasks as those you’re asking about. Read it. Let me know if you need something clarified. If I don’t know the answer, I’m sure someone else who visits will.

  26. Hi Tim,
    just a quickie.,
    can we install the TFS on a local pc ?

  27. Hi Tim,
    just a quickie.,
    can we install the TFS on a local pc ?
    if yes., win 7 2gb ram and 80 gb HDD will be sufficient

  28. J, you didn’t say which version of TFS you have. That said, it looks like you’ll be fine for a basic install (no SharePoint, no reporting, maybe just use SQL Express that comes with TFS). You may soon find that you need more space for your code, but it’s easy enough to add a bigger disk.

    Here are the complete “official” requirements on MSDN for TFS 2013.


    Good luck!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s