Tim Elhajj

Off the Microsoft stack!


8 Comments

Team Foundation 2012 Build Service installation and configuration

If you want to automate builds of your software projects, you can install Team Foundation Build Service from the Team Foundation Server product DVD and create a build machine. Once you have the build machine set up, you’ll want to create a build definition in Visual Studio with instructions about which code projects to compile and many other configurations. But first, you must set up the build machine.

Where to Install It?

The most important thing to concern yourself with during installation is selecting the right hardware to get the best performance (recommendations are linked below). If your team is building Windows apps, you’ll need to install the build service on Windows 8. See this topic on the Microsoft website: Build and Test a Windows Store App Using Team Foundation Build. All of the settings you choose during the initial configuration of Team Foundation Build Service can be changed after installation, so don’t worry too much about making a wrong choice. For a comprehensive explanation of Team Foundation Build Service architecture and all possible topologies, see this topic on the Microsoft website: Scale Out Your Build System.

Although you can install Team Foundation Build Service on the same computer as Team Foundation Server, you probably shouldn’t. You don’t want to hurt the performance of Team Foundation Server or increase its attack surface when builds are running.

System Requirements

The operating system requirements for Team Build match the requirements for TFS, and the hardware requirements match those of the operating system on which you install it. That said, you can optimize the performance of your build machine by installing Team Foundation Build Service on hardware adequate for the way your team intends to automate builds. See Hardware Recommendations on this MSDN topic.

Required permissions

You must be a member of both the Windows Administrators security group on the server on which you are configuring Team Foundation Build Service and the Project Collection Administrators group on TFS.

TIP: If you installed TFS, you’re already a member of Project Collection Administrators.

To run the Team Foundation Server installer

TIP: The build service is installed with TFS. If you want to set up the build service on the same server as where you installed TFS, you can skip this procedure, open the TFS Administration Console, select Build Configuration, and then choose Configure Installed Features.

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.

To configure Team Foundation Build Service

1) Choose Configure Team Foundation Build Service, and then choose Start Wizard. The Build Service Configuration wizard appears.

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

3) If you’re configuring the build service on the server running TFS, the default collection is selected automatically. Choose Next.

Otherwise, choose Browse, and then choose the team project collection to which you want this build controller to connect.

4) Choose Use the default setting, and specify the number of build agents. If you installed Team Foundation Build Service on the same server as Team Foundation Server, the default setting for Number of build agents to run on this build machine is 1 (recommended). Choose Next.

If you’re not installing build service on a server that’s running TFS or don’t want to use the default settings, perform one of the following steps:

* Choose Scale out build services to run concurrent builds across multiple machines. If you choose this option, you have to specify the number of build agents for this machine and then add them to a new or existing build controller. If you installed Team Foundation Build Service on its own server, the default setting for Number of build agents to run on this build machine is equal to the number of processor cores on this server.

* Choose Replace an existing build machine, and then specify the build machine to replace. This option copies the existing configuration to the new build server.

* Choose Configure later to skip setting up any build controllers or agents on this instance of Team Foundation Build Service. If you choose this option, you must manually connect the build controller to Team Foundation Server before you can use this build machine.

5) Under Run Team Foundation Build Service as, Choose Use a system account, and then choose NT Authority\Network Service. Choose Next.

Otherwise, choose Use a user account to use a domain or local account, and then enter the account name and password. To test the user account and password, choose Test.

6) Review the information and then 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.

7) Choose Configure. The wizard applies configuration settings.

8) At the success screen, choose Next.

9) Review the results of the success screen, including any recommendations. Choose Close

Advertisements


28 Comments

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.


5 Comments

Installing SharePoint 2013 Products on Windows Server 2012 for Team Foundation Server 2012

In this post, we’re going to install SharePoint Server 2013 on the same server as TFS and SQL Server.

We’re going to install SharePoint after we install SQL Server, so that we can use the same Database Engine instance we installed for TFS for our SharePoint deployment (although using the same SQL Server instance for both SharePoint and TFS is certainly not a requirement).

In most single-server TFS installations, you would simply use the TFS installer to setup SharePoint. However, TFS 2012 comes with SharePoint Foundation 2010, which is not compatible with Windows Server 2012. So we’re going to have to manually install a version of SharePoint compatible with Windows Server 2012.

TIP: Installing SharePoint on the same server as TFS isn’t a requirement. TFS is very flexible with regard to the topology of your SharePoint installation. See What If I Already Have SharePoint?

Do I Even Need SharePoint?

Maybe. SharePoint is a collaboration website product that offers deep integration with Office productivity products like Word, Outlook and Excel. Although it’s not a TFS requirement, some teams do find its features useful. SharePoint is different from the Team Web Access site that comes with TFS. Team Web Access is a web site that mirrors Visual Studio features and offers functionality for certain specialized team collaborations that have to do with creating software projects. You get Team Web Access by default when you install TFS.

What Will I Need?

Assuming you still want SharePoint in your TFS deployment, you’ll need a single domain account to act as the TFS Report Reader account. TFS uses this account to generate reports. We’re going to use the report reader account that way too, but we’ll also put it to use as the Farm Administrator account for our SharePoint installation, just as TFS would do during the standard install of TFS on Windows Server 2008 or R2.

TIP: Don’t put the report reader account in the Windows Administrators security group. It just needs the Allow log on locally permission, which all domain accounts have by default.

Free SharePoint vs. Paid-For SharePoint

For each version of SharePoint, Microsoft delivers a free version and a paid-for version with additional functionality. TFS always comes with one of the free versions. However, we support both versions and the instructions for installing either on Windows Server 2012 are very similar and included in this guide.

If you use SharePoint Server, as we are going to in this guide, you must make a few SharePoint configurations after you install SharePoint (and before you install TFS) to enable TFS dashboard functionality on your SharePoint installation. If you install the free version, you can skip the dashboard configurations. You’ll still get some dashboard functionality, but not as much as if you had the paid-for version of SharePoint.

What If I Already Have SharePoint?

If your existing SharePoint installation meets the TFS requirements for SharePoint, you can certainly use your existing installation of SharePoint for TFS. Make sure it meets the SharePoint requirements for TFS.

TIP: You can use a remote SharePoint installation—an instance of SharePoint that is not installed on the TFS server—but to do this you’ll need to install the TFS extensions for SharePoint on the SharePoint server. See (on MSDN): How to: Install Remote SharePoint Products for Team Foundation Server.

Required Permissions

To perform this procedure, you must be a member of the Windows Administrators security group on the computer where you install SharePoint Products and where you host its databases.

To install SharePoint 2013 Products for TFS

Whatever SharePoint 2013 product you’re installing, you should first run the SharePoint 2013 Products preparation tool. After you prepare the server, install SharePoint, and then do the post installation configuration tasks appropriate for the product you just installed.

Remember that you’ll need a single domain account to act as the TFS Report Reader account to install SharePoint Server 2013. See What Will I Need?

Run the preparation tool

1) Insert the SharePoint Server 2013 DVD and launch default.hta, or download SharePoint Foundation 2013 and run sharepoint.exe.

You can find more detailed information about SharePoint requirements for Team Foundation Server on MSDN, but this instruction will guide you through typical installations on Windows Server 2012.

2) Choose Install software prerequisites.

3) On the Welcome page, choose Next.

4) On the license agreement page, accept the terms of the license and choose Next.

Depending on the state of your computer, the installer might prompt you to restart the machine. Follow any instructions.

Upon resume after a restart, you may have to run the SharePoint Products prep tool again, if it doesn’t start automatically. Keep running it (performing the previous four steps for manual restarts) until you get a success message.

5) At completion, choose Finish.

Run the SharePoint installation

Once the SharePoint Products Perpetration tool completes, you might have to launch the SharePoint installer again, especially if you had to restart your computer.

Remember that you’ll need a single domain account to act as the TFS Report Reader account to complete this section. See What Will I Need?

1) Insert the SharePoint Server 2013 DVD and launch default.hta, or run sharepoint.exe (for SharePoint Foundation installations).

2) Choose Install SharePoint Server this time (or Install SharePoint Foundation).

If you are installing SharePoint Server, type your product key, and choose Continue.

3) On the Read the Microsoft Software License Terms page, read the agreement. If it is acceptable, select the I accept the terms of this agreement check box, and then choose Continue.

4) On Server Type tab, choose Complete.

5) Choose Install Now.

When the installation wizard finishes, a dialog box appears that prompts you to complete the configuration of your server.

6) In that dialog box, verify that the Run the SharePoint Products and Technologies Configuration Wizard now check box is selected.

7) Choose Close to start the configuration wizard.

8) On the Welcome page, choose Next.

NOTE: A warning about restarting certain services will appear. Choose Yes. Some services might need to be restarted during the configuration phase.

9) On the Connect to a server farm page, choose Create a new server farm, and then choose Next.

10) On the Specify Configuration Database Settings page, perform the following steps and then choose Next:

A) Type the name of the server that is running SQL Server. Accept the default value for database name.

TIP: If you used a named instance in step 11 of SQL Server install, type the named instance here. For example, timel-s12-01\InstanceName.

B) Type the name for the report reader account and its password.

TIP: You can use the same account here that you will use for the report reader account.

11) Type a password in Passphrase, confirm the password by typing it again in Confirm Passphrase, and then choose Next.

12) On the Configure SharePoint Central Administration Web Application page, select the Specify port number check box, and type 17012.

You can use the randomly generated port number, but Team Foundation Server has always used 17012 as the port for the SharePoint Products administration site.

13) Choose NTLM and then Next.

14) Review the information, and then choose Next.

Configuration begins.

15) Choose Finish.

Once the installation routine finishes, it launches the SharePoint administration site, open to the initial configuration wizard.

Run the SharePoint Configuration wizards

No matter which version of SharePoint you install, you must run the SharePoint Configuration wizard. Special instructions appear in step 3 if you’re installing the Enterprise edition of SharePoint Server 2013.

1) Choose Start the Wizard.

2) Select Use existing managed account and choose the report reader account.

3) If you’re installing SharePoint Server Enterprise edition, as we are, then you’ll need to select Excel Services and Secure Store Service.

TIP: Secure Store Service is optional, but you should select it.

If you’re installing the Standard edition of SharePoint Server 2013 or SharePoint Foundation, none of the listed services are required, but you must run the wizard to succeed with your TFS installation. Even if you select no services, SharePoint will configure a site collection and some other services.

Select any services you want to set up. Unselect any you don’t want set up.

SharePoint selects all of them by default.

TIP: Remember that you can always come back later to run the configuration wizards, but you have to run it once after the SharePoint installation to succeed with your TFS installation.

4) Choose Next.

3) Type a Title and choose Next.

4) Choose Finish.

Configure Excel Services (SharePoint Server 2013 only)

For TFS reports to operate correctly, you must also configure a trusted file location for Excel Services.

1) In SharePoint Central Administration, under Application Management, choose Manage service applications.

2) On the Manage Service Applications page, choose Excel Services Application.

3) On the Manage Excel Services Application page, choose Trusted File Locations.

4) Choose Add Trusted File Location.

5) In Address, enter the URL of the root site of the web application that you will use with Team Foundation Server.

You should specify the web application that you created for Team Foundation Server.

6) In Location Type, choose Microsoft SharePoint Foundation.

7) In Trust Children, select the Children trusted check box.

8) In the External Data section, under Allow External Data, choose Trusted data connection libraries and embedded.

9) (Optional) Clear the Refresh warning enabled check box.

10) In Maximum Concurrent Queries Per Session, change the number to 20 and choose OK.

The trusted file location you just created appears in the Excel Services trusted file location list.


Configure secure store service (SharePoint Server 2013 only – optional)

To configure the secure store service, you must create a target application for the secure store.

1) In SharePoint Central Administration, under Application Management, choose Manage service applications.

2) On the Manage Service Applications page, choose Secure Store Service.

3) Choose New to create a secure store target application for Team Foundation Server.

TIP: If you have not created a key, SharePoint Products prompts you to create one by choosing Generate New Key. Without a key, you cannot create a target application for the secure store.

4) On the Create New Secure Store Target Application page, in Target Application ID and Display Name, enter TFS (pictured below).

TIP: You do not have to use TFS for Target Application ID or Display Name, but take note of whatever you use here, because you will need it to configure Team Foundation Server later.

5) In Contact E-mail, type the e-mail address of the person or group you want email messages about this application to be sent to (pictured below).

6) In the Target Application Type list, choose Group (pictured below).

7) In Target Application Page URL, choose None (pictured below), and then choose Next.

8) In Specify the credential fields for your Secure Store Target Application, choose Next to accept the default settings for the credential fields.

9) In Target Application Administrators, type the administrative account for the application.

10) In Members, enter the global security group from the domain that contains all the users to whom you want to grant access to dashboards and reports in Team Foundation Server, and then choose OK.

11) On the Secure Store Service Application page, select the check box for the target application that you just created (named TFS if you used the naming guidance that was provided earlier in this topic), and then choose Set Credentials in the ribbon.

12) In the Set Credentials for Secure Store Target Application (Group) dialog box, enter the name and password, confirm the password of the report reader account for Team Foundation Server, and then choose OK.


Leave a comment

SQL Server 2012 Installation for Team Foundation Server

In this post, we’re going to install all the SQL Server 2012 features that TFS requires on the same server as TFS, but this isn’t a requirement. TFS is very flexible with regard to SQL Server topologies. See One Server or Two?

TIP: You can also use an existing installation of SQL Server for TFS, but to do this you’ll need the SQL Server administrator to grant you a lot of privilege. You must be a member of the sysadmin Server role in SQL Server to install and configure TFS. Why does TFS need so much privilege on the SQL Server? (Brian Harry blog post)

One Server or Two?

If you’re only going to use one server for TFS, you can safely ignore this section.

If you plan to have more than 500 users accessing your TFS server, the recommendation is to put SQL Server on a second server. This splits the load between TFS and its configuration database. You could install all the SQL Server features TFS requires on that second server, or you could split the features up. Some teams like to put the report server on the TFS server, and the Database engine, Full text search, and Analysis services on the second server, splitting HTTP traffic from SQL Server traffic.

There are many different topology choices you could make. In general, TFS allows you to install SQL Server instance features (Database engine, Reporting Services, Analysis Services) on different servers. Here are some caveats for various SQL Server topologies to keep in mind:

  • TFS requires the Database Engine and Full text search features on the same instance.
  • TFS reporting is optional, but if you want reporting you must install Reporting Services and Analysis Services (each can go on its own server, if you want that topology). If you skip reporting, you don’t have to setup Reporting Services or Analysis Services.
  • If you don’t install any SQL Server instances on the TFS server, you must at least install the SQL Server feature Client Tools Connectivity on TFS. If you have a SQL Server instance on the TFS server (either the Database Engine, Reporting Services or Analysis Services) you don’t have to install Client Tools Connectivity.

If you want to install SQL Server features on different servers, run the SQL Server installation on each server where you want to install a feature. Use the same instructions below for each installation, but at step 9, only install the features that you require.

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

Required Permissions

To perform these procedures, you must be a member of the Windows Administrators security group on the server on which you are installing SQL Server.

To manually configure a report server, you must also be a member of the Windows Administrators security group on the SQL Server that hosts the report server database, if this instance of SQL Server is not on your report server.

To install SQL Server for TFS

1) Insert the installation DVD for a supported version of SQL Server and launch setup.exe.

You can find more detailed information about SQL Server Requirements for Team Foundation Server on MSDN, but this instruction will guide you through most installations.

2) On the SQL Server Installation Center page, choose Installation, and then choose New installation or add features to an existing installation.

3) On the Setup Support Rules page, choose OK.

4) On the Product Key page, type your product key or specify a free edition and then choose Next.

5) On the License Terms page, accept the license agreement and choose Next.

6) On the Setup Support Files page, choose Install (SQL Server 2008 R2 only).

7) On the Setup Support Rules page, choose Next.

TIP: A Windows Firewall warning might appear, but you can safely ignore this warning if you’re planning to install TFS on the same server. TFS automatically adds an exception to Windows Firewall for SQL Server. If you’re installing TFS on some other server, you’ll want to open a port for SQL Server in Windows Firewall on this server. For more information about SQL Server ports required for Team Foundation Server, see Ports Required for Installation of Team Foundation Server.

8) On the Setup Role page, choose SQL Server Feature Installation and then choose Next.

9) On the Feature Selection page, select the check boxes for one or more of the following components, depending on the topology you intend to use, and then choose Next:

  • Database Engine Services (required for Team Foundation Server)
  • Full-Text and Semantic Extractions for Search or Full-Text Search ¹ (required for Team Foundation Server)
  • Analysis Services (required for reporting)
  • Reporting Services – Native or Reporting Services ¹ (required for reporting)

  • Client Tools Connectivity (required if no other SQL Server components are installed on the server that is running Team Foundation Server.)
  • Management Tools – Basic ²

10) On the Installation Rules page, choose Next.

11) On the Instance Configuration page, choose Default instance. If you choose Named instance, type the name of the instance. Choose Next.

12) On the Disk Space Requirements page, choose Next.

13) On the Server Configuration page, do one of the following:

For SQL Server 2012, you can accept the defaults or enter the name of a domain account or NT AUTHORITY\NETWORK SERVICE in Account Name for every service.

For SQL Server 2008 R2, choose Use the same account for all SQL Server services,³ or enter the name of a domain account or NT AUTHORITY\NETWORK SERVICE in Account Name for every service.

No matter which version of SQL Server you use, if you specify a domain account, type its password in Password. If you use NT AUTHORITY\NETWORK SERVICE, leave Password blank.

14) In the Startup Type column, verify that Automatic appears for all services that you can edit, and then click Next.

NOTE: You can set collation settings on this page. For more information, see SQL Server Collation Requirements for Team Foundation Server.

15) If you selected the Database Engine Services check box in step 9, on the Database Engine Configuration page, choose Windows authentication mode, choose Add Current User, and then choose Next. Otherwise skip to the next step.

16) If you selected the Analysis Services check box in step 9, on the Analysis Services Configuration page, choose Add Current User, and then choose Next. Otherwise skip to the next step.

17) If you selected the Reporting Services check box in step 9, on the Reporting Services Configuration page, choose Install and configure (SQL Server 2012) or Install the native mode default configuration (SQL Server 2008 R2). If those options are unavailable, choose Install only (SQL Server 2012) or Install, but do not configure the report server (SQL Server 2008 R2) and then choose Next.

If you had to choose Install only or Install but do not configure the report server, you may be planning to have the report server and Team Foundation Server on different servers. This is a supported topology, but you will have to manually configure the report server after you finish installing SQL Server. Use these instructions: Configure Report Server Manually

NOTE: You should not click Reporting Service SharePoint Integrated Mode (SQL Server 2012)or Install the SharePoint integrated mode default configuration. Team Foundation Server does not support this configuration mode.

18) (Optional) On the Error and Usage Reporting page, specify whether to send information about errors and then choose Next.

19) On the Installation Configuration Rules page, choose Next.

20) On the Ready to Install page, review the list of components to be installed, and then choose Install.

The Installation Progress page shows the status of each component.

21) On the Complete page, choose Close.

¹ In SQL Server 2008 R2, feature names are slightly different than those in SQL Server 2012. This procedure lists feature names from both versions, but you only need to install the feature appropriate for the version of SQL Server you are installing.

² To install Team Foundation Server, you do not need to install Management Tools (Basic or Complete) on the same computer as SQL Server or TFS. However, you will need the SQL Server Management Studio management tool to manage your installation of SQL Server.

³ If you click Use the same account for all SQL Server services (SQL Server 2008 R2 only), you may still have to manually enter account information for some services.


Leave a comment

What Does Microsoft Do When the TFS Server Goes Down?

Over the July Fourth Weekend this past summer, six thousand of the world’s most talented developers at lost access to the their bugs, planning data, and most importantly, the source code for their software products. Microsoft’s own TFS deployment went down. Over twelve terabytes of data was suddenly inaccessible. Within five days all systems were back online and fully operational. The culprit was a piece of hardware: A failed SAN storage unit, recently upgraded to satisfy the ever increasing need for more storage.

This is the story of those five days and the lessons learned.

It started early Sunday morning, July 3, just past midnight with one of the SAN storage units started to go bad after routine maintenance. The corruption caused the TFS deployment go offline.

This TFS deployment is a souped up cluster of TFS application tiers behind a load balancer connected to another cluster of SQL Servers that carry the backend. If you’re familiar with TFS, you know the data is stored in Team Project Collections (TPC). Developer division at Microsoft has many TPCs, but there are two important ones (one for TFS 2010, the other for the current project TFS vNext) which are huge and stored on an attached SAN.

disaster1

The OPS team at Microsoft went to work immediately on the failed server Sunday morning. The current project (vNext) was the highest priority. They restored the TPC from backup but soon discovered corruption in the restored database. On Monday, the OPS team decided to restore the vNext TPC and made an important discovery: the transaction log backups that were supposed to occur every fifteen minutes, weren’t happening. This meant going back to the last full backup, which was taken the previous Friday (7/1). This meant data loss from over the weekend, which was fortunately a paid US holiday, so hopefully many developers were out celebrating America’s independence. While the OPS team restored data, the rest of the team prepared for the loss of data by clearing all version control caches on all instances of TFS Proxy and TFS.

Meanwhile, the OPS team began copying the 2010 TPC to the SAN. This involved a copy operation with ten TB of data, so it took a considerable amount of time. By Tuesday the ten TB backup had still not finished copying to the SAN, but it was causing time outs for people using the current project, which was already back up and running. The OPS team stopped the backup to the shared SAN and secured an isolated SQL Server, where they could house the 2010 project. Ops started the ten terabyte copy again. The additional time required to bring the 2010 project online without harming the health of the TFS sever for the rest of the team was worth it.

disaster2

Just when everyone was beginning to breathe, on Tuesday July 5, the vNext TPC went down again.

This time a whole host of network engineers, developers and architects from across the corporate structure were called upon—IT hardware teams, SQL IT teams, and SQL dev teams. The SAN was the main suspect. By Wednesday, the newly formed emergency response team of network engineers isolated and resolved the problem with the SAN. (Erin, what was it?) By Thursday mail went out that OPS would attempt to restore from the 7/1 backup again. By Friday everything was back to normal.

Three days of data was irrecoverably lost. The two most valuable TPCs to the division were unavailable for a few days. And it took a few days after the recovery was finally in place for all the mirrors to sync up and for the cube to refresh itself with accurate data.  Mitigating our losses, the period of time for which data was lost was over a US holiday weekend. And, of course, we discovered the problem with our transaction logs backups, which were supposed to occur every fifteen minutes. Now the current TPC has its own dedicated SAN storage. With the transaction logs getting backed up, we should be able to recover from a similar disaster to within fifteen minutes instead of three days.