<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Team Foundation Server - Setup, Administration and Operations Blog</title><subtitle type="html" /><id>http://blogs.msdn.com/b/tfsao/atom.aspx</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/tfsao/" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/b/tfsao/atom.aspx" /><generator uri="http://telligent.com" version="5.6.50428.7875">Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><updated>2012-03-23T13:59:32Z</updated><entry><title>Removing an Admin Console User with DBO Permissions</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/tfsao/archive/2013/05/01/can-t-remove-admin-console-user.aspx" /><id>http://blogs.msdn.com/b/tfsao/archive/2013/05/01/can-t-remove-admin-console-user.aspx</id><published>2013-05-01T22:10:00Z</published><updated>2013-05-01T22:10:00Z</updated><content type="html">&lt;p&gt;In TFS 2012, you&amp;nbsp;may notice you're unable to&amp;nbsp;remove an Admin Console User who&amp;nbsp;is the SQL database owner (dbo).&amp;nbsp; This is usually the user who initially installed and configured TFS.&amp;nbsp; In this scenario, you will select an Admin Console User in the Admin Console and click the link to "Remove" them, but the user will not actually be removed despite seeing a "Success" message for the removal.&amp;nbsp; Even after restarting the Admin Console, you will see that the user you tried to remove is still an Admin Console User.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-89/2630.Admin-Console.PNG"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-89/2630.Admin-Console.PNG" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-89/5852.SuccessMessage.PNG"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-89/5852.SuccessMessage.PNG" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This behavior occurs&amp;nbsp;because:&lt;/p&gt;
&lt;p&gt;1) Your SQL Server always needs there to be someone with dbo permissions for each database in order to run&lt;/p&gt;
&lt;p&gt;2) TFS requires that an Admin Console User has these permissions so that&amp;nbsp;an admin&amp;nbsp;in the deployment has rights to alter all TFS-related data&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you would like to remove an Admin Console User who is dbo, you must&amp;nbsp;first reassign the dbo role to a different Admin Console User.&amp;nbsp; Since the dbo role gives users such elevated permissions in SQL, TFS will not automatically choose a new dbo for you.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;To reassign the dbo role, open SQL Management Studio and change the db owner in the "Files" page of the database properties dialog.&amp;nbsp; Remember, the person you move dbo permissions to must also be an Admin Console User.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-89/4251.Change-DBO.png"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-89/4251.Change-DBO.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;After you have done this, go back to the TFS Administration Console and try the removal again.&amp;nbsp; This time, it should succeed.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10415496" width="1" height="1"&gt;</content><author><name>AndreaMS</name><uri>http://blogs.msdn.com/andrea.els_4000_live.com/ProfileUrlRedirect.ashx</uri></author><category term="TFS 2012" scheme="http://blogs.msdn.com/b/tfsao/archive/tags/TFS+2012/" /><category term="Admin Console User" scheme="http://blogs.msdn.com/b/tfsao/archive/tags/Admin+Console+User/" /><category term="Permissions" scheme="http://blogs.msdn.com/b/tfsao/archive/tags/Permissions/" /></entry><entry><title>TF255146: Team Foundation Server requires SQL Server 2008 R2 (10.50.1600) or greater.</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/tfsao/archive/2013/04/29/tf255146-team-foundation-server-requires-sql-server-2008-r2-10-50-1600-or-greater-the-sql-server-instance-a5100854-sqlexpress-you-supplied-is-version.aspx" /><id>http://blogs.msdn.com/b/tfsao/archive/2013/04/29/tf255146-team-foundation-server-requires-sql-server-2008-r2-10-50-1600-or-greater-the-sql-server-instance-a5100854-sqlexpress-you-supplied-is-version.aspx</id><published>2013-04-29T15:02:00Z</published><updated>2013-04-29T15:02:00Z</updated><content type="html">&lt;p&gt;While&amp;nbsp;trying to configure a 2012 version of Team Foundation Server Express or Basic, you may hit the following&amp;nbsp;error message during the&amp;nbsp;Readiness Checks:&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;&lt;strong&gt;TF255146: Team Foundation Server requires SQL Server 2008 R2 (10.50.1600) or greater.&amp;nbsp; The SQL Server instance A5100854\SqlExpress you supplied is version ??.??.???. &lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt;&lt;strong&gt;Cannot assign a default value to a local variable.&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;strong&gt;Must declare the scalar &lt;/strong&gt;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;strong&gt;variable&lt;/strong&gt;&lt;strong&gt; &lt;a href="mailto:&amp;ldquo;@BackupCompressionDefault"&gt;&lt;span style="color: #ff0000;"&gt;&amp;ldquo;@BackupCompressionDefault&lt;/span&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;strong&gt;&amp;rdquo;.&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Unfortunately this error message does not provide very helpful or precise information, and you may not be sure what you need to do to get past it.&amp;nbsp; The message has been improved in the next release of TFS.&amp;nbsp; Until then, please consult one of the 2 possible scenarios below for information on how to unblock configuration of TFS 2012.&lt;/p&gt;
&lt;h4&gt;&lt;span style="text-decoration: underline;"&gt;Scenario 1:&lt;/span&gt;&amp;nbsp;Configuring with&amp;nbsp;the TFS Basic wizard&lt;/h4&gt;
&lt;p&gt;If you're configuring&amp;nbsp;with the Basic wizard, the error message means that you provided a SQL Server instance that is too old to be upgraded automatically or used in place with TFS 2012.&amp;nbsp;&amp;nbsp;When the version number shows up as "??.??.???" it means the instance is SQL 2005 or earlier, and TFS requires at least SQL Server 2008 R2.&amp;nbsp; In this situation you have several options.&amp;nbsp; You can:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Return to the previous page in the wizard and select a new SQL instance to configure TFS with.&lt;/li&gt;
&lt;li&gt;Manually upgrade the instance you chose to SQL 2008 R2 or higher.&lt;/li&gt;
&lt;li&gt;Uninstall the instance you chose.&amp;nbsp; TFS configuration can then install a newer version of SQL Express for you to use with TFS.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;&lt;span style="text-decoration: underline;"&gt;Scenario 2:&lt;/span&gt; Configuring with the TFS Express wizard&amp;nbsp;(aka the "New Server" wizard)&lt;/h4&gt;
&lt;p&gt;If you're configuring with the Express wizard, the problem is a bit more complex.&amp;nbsp; You will still see the error message in cases where the SQL instance being used for configuration is too old to be upgraded automatically or used in place with TFS.&amp;nbsp; However, in the Express wizard there is no option to choose a particular SQL Express instance to configure TFS against.&amp;nbsp; TFS Express can only be configured with a SQL Express instance named "SQLEXPRESS," which is the default SQL Express instance name.&amp;nbsp; Any other instances of SQL Express on your server will be ignored.&amp;nbsp; Therefore, you can have an outdated version of SQL called SQLEXPRESS and also a newer, usable version of SQL with a different name, and configuration will still be blocked.&amp;nbsp; Your options for unblocking configuration on your server are to:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Upgrade your SQL Express instance (the one named SQLEXPRESS) to SQL 2008 R2 or higher.&lt;/li&gt;
&lt;li&gt;Uninstall the instance named SQLEXPRESS so that TFS Express can install a fresh instance of&amp;nbsp;SQL Express 2012 with the&amp;nbsp;same name.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;We hope this post is helpful to anyone who runs into this problem.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10414782" width="1" height="1"&gt;</content><author><name>AndreaMS</name><uri>http://blogs.msdn.com/andrea.els_4000_live.com/ProfileUrlRedirect.ashx</uri></author><category term="TFS 2012" scheme="http://blogs.msdn.com/b/tfsao/archive/tags/TFS+2012/" /><category term="SQL Express" scheme="http://blogs.msdn.com/b/tfsao/archive/tags/SQL+Express/" /></entry><entry><title>TF400371, TF14045 | Configuring Proxy in an Untrusted Domain</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/tfsao/archive/2013/04/15/tf400371-tf14045-configuring-proxy-in-an-untrusted-domain.aspx" /><id>http://blogs.msdn.com/b/tfsao/archive/2013/04/15/tf400371-tf14045-configuring-proxy-in-an-untrusted-domain.aspx</id><published>2013-04-15T19:55:00Z</published><updated>2013-04-15T19:55:00Z</updated><content type="html">&lt;p&gt;If you are running TFS 2012 RTM, Update 1, or Update 2 and are trying to &lt;a href="http://blogs.msdn.com/b/chrniel/archive/2010/01/20/getting-tfs-source-control-proxy-working-in-a-workgroup-or-untrusted-domain.aspx"&gt;configure a proxy machine in an untrusted domain&lt;/a&gt;, you will find that the configuration process blocks this previously supported scenario with the following errors:&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&lt;span style="color: #ff0000;"&gt;TF400371: Failed to add the service account 'TFSPROXY\TFSProxy1' to Proxy Service Accounts Group. Details: TF14045: The identity with type 'System.Security.Principal.WindowsIdentity' and identifier 'S-1-5-21-4198714966-1643845615-1961851592-1024' could not be found..&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Fortunately, there is a workaround that will help you get Proxy back up and running.&amp;nbsp; Please follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;If you are on TFS 2012 RTM or Update 1, you will need to upgrade to Update 2.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Once you are on Update 2, you will need to join your proxy server to TFS by placing it in a workgroup during configuration&lt;/li&gt;
&lt;li&gt;After configuration is complete,&amp;nbsp;move your&amp;nbsp;proxy server back into the untrusted domain.&amp;nbsp; Please be sure you continue to follow the guidance around shadow accounts closely.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;We apologize for the inconvenience and will be including the fix for this bug in Update 3.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10411224" width="1" height="1"&gt;</content><author><name>AndreaMS</name><uri>http://blogs.msdn.com/andrea.els_4000_live.com/ProfileUrlRedirect.ashx</uri></author><category term="TFS2012" scheme="http://blogs.msdn.com/b/tfsao/archive/tags/TFS2012/" /><category term="configuration" scheme="http://blogs.msdn.com/b/tfsao/archive/tags/configuration/" /><category term="Proxy" scheme="http://blogs.msdn.com/b/tfsao/archive/tags/Proxy/" /></entry><entry><title>TF255455: SQL Server Reporting Services is configured to require a secure connection. However, no HTTPS URL is configured with a valid certificate. </title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/tfsao/archive/2013/03/19/tf255455.aspx" /><id>http://blogs.msdn.com/b/tfsao/archive/2013/03/19/tf255455.aspx</id><published>2013-03-19T19:20:00Z</published><updated>2013-03-19T19:20:00Z</updated><content type="html">&lt;p class="body"&gt;If you are seeing this error, it means that&amp;nbsp;your Reporting Services instance was set up to require a secure (SSL) connection, but for some reason your configuration does not meet all the requirements for SSL.&amp;nbsp; Reporting Services will not work correctly until you've ensured you meet all the requirements for SSL (a real, valid certificate; a matching machine name; etc.) or you've reduced your connection security requirements.&lt;/p&gt;
&lt;p class="body"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="body"&gt;In the most common scenario, there was for some reason&amp;nbsp;already a (invalid) certificate on the machine that made an SSL assumption when Reporting Services was installed, so it set up HTTPS and set a SecureConnectionLevel&amp;nbsp;of 2.&amp;nbsp; This can be any certificate in the local store with the purpose set to * (anything) or server authentication.&amp;nbsp; When TFS detects&amp;nbsp;that SecureConnectionLevel=2, it requires that the user use HTTPS; however, if the certificate doesn't work, HTTPS&amp;nbsp;will fail.&amp;nbsp; The best way to fix this is to change the Reporting Services config file to set the SecureConnectionLevel to 0 - ie, do not require a secure connection&amp;nbsp;- instead&amp;nbsp;of 2.&amp;nbsp; The steps are as follows:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div class="body"&gt;Open the rsreportserver.config file, which is usually located in &lt;em&gt;%Program Files%&lt;/em&gt;\Microsoft SQL Server\MSRS10.&lt;em&gt;&amp;lt;instancename&amp;gt;&lt;/em&gt;\Reporting Services\ReportServer\&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class="body"&gt;Search for the line that reads &amp;lt;Add Key="SecureConnectionLevel" Value="&lt;strong&gt;2&lt;/strong&gt;"&amp;gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class="body"&gt;Change it to &amp;lt;Add Key="SecureConnectionLevel" Value="&lt;strong&gt;0&lt;/strong&gt;"&amp;gt;, and save the file.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Restart&amp;nbsp;setup.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you&amp;nbsp;did intend to use a certificate but find that it isn't working, please check that the name the certificate applies to exactly matches the name of the server you are trying to connect to.&amp;nbsp; Note that certificates will not recognize when a local name and fully qualified domain name belong to the same machine, so if you are trying to connect to Reporting Services using the local name, but the certificate knows that machine by&amp;nbsp;its FQDN, .NET will fail the communication.&amp;nbsp;&amp;nbsp;To avoid this issue, either ensure that the name of the machine you're connecting to always matches the name in the certificate, or add another certificate that applies to the second name.&amp;nbsp; Another possible issue you could be facing lies in the fact that .NET will fail communication with your&amp;nbsp;server&amp;nbsp;if the certificate you have is self-signed and not trusted.&amp;nbsp; This is only an issue if your Reporting Services is remote; communication will still work if it is local.&amp;nbsp; To work around this issue, try using a certificate that is signed by a recognized certificate authority.&lt;/p&gt;
&lt;p class="container"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="container"&gt;For more information on SQL's connection security settings, see the official docs here:&lt;/p&gt;
&lt;div class="container"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms154709.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms154709.aspx&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms157273(v=sql.110).aspx#bkmk_Authentication"&gt;http://msdn.microsoft.com/en-us/library/ms157273(v=sql.110).aspx#bkmk_Authentication&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10403617" width="1" height="1"&gt;</content><author><name>AndreaMS</name><uri>http://blogs.msdn.com/andrea.els_4000_live.com/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Upgrade Failure: "The installation and configuration of Team Foundation Server succeeded, however upgrading the data was unsuccessful"</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/tfsao/archive/2013/03/05/upgrade-failure-quot-the-installation-and-configuration-of-team-foundation-server-succeeded-however-upgrading-the-data-was-unsuccessful-quot.aspx" /><id>http://blogs.msdn.com/b/tfsao/archive/2013/03/05/upgrade-failure-quot-the-installation-and-configuration-of-team-foundation-server-succeeded-however-upgrading-the-data-was-unsuccessful-quot.aspx</id><published>2013-03-05T20:42:00Z</published><updated>2013-03-05T20:42:00Z</updated><content type="html">&lt;p&gt;If you received this message on the completion page of the TFS upgrade wizard, it means that the application tier of your TFS instance was successfully upgraded to the new version, but some or all of your team project collections were not.&amp;nbsp; In this case, you will be able to use TFS to create new projects and collections, but you will be unable to access your old content until you manage to successfully upgrade it as well.&lt;/p&gt;
&lt;p&gt;The main reason&amp;nbsp;for TFS being unable to upgrade team project collections is that their data was already either corrupted, incomplete, or stuck between schema versions.&amp;nbsp;&amp;nbsp;You will need to contact customer support for assistance troubleshooting these data issues and getting your data back to a workable state.&amp;nbsp; However, there is also a chance that the upgrade process failed because&amp;nbsp;TFS's network or SQL connection was lost partway through the upgrade.&amp;nbsp; Before calling support, you may want to double-check, and if necessary repair, these connections and then try re-running the upgrade on your project collections.&amp;nbsp; To retry the upgrade, remove all the non-functional team project collections from your new instance of TFS and use the &lt;a title="http://msdn.microsoft.com/en-us/library/ee349263.aspx" href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx/attach"&gt;attach&lt;/a&gt;&amp;nbsp;command to attach the backups of these collections to your server.&amp;nbsp; Please remember to make a copy of your backups before attempting the attach so that you will still have a copy of your data in its original state in the event that the attach fails.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10399625" width="1" height="1"&gt;</content><author><name>AndreaMS</name><uri>http://blogs.msdn.com/andrea.els_4000_live.com/ProfileUrlRedirect.ashx</uri></author><category term="Upgrade" scheme="http://blogs.msdn.com/b/tfsao/archive/tags/Upgrade/" /><category term="TFS" scheme="http://blogs.msdn.com/b/tfsao/archive/tags/TFS/" /><category term="TFS2012" scheme="http://blogs.msdn.com/b/tfsao/archive/tags/TFS2012/" /></entry><entry><title>Upgrading AlwaysOn and Mirrored Environments</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/tfsao/archive/2013/03/05/upgrading-alwayson-and-mirrored-environments.aspx" /><id>http://blogs.msdn.com/b/tfsao/archive/2013/03/05/upgrading-alwayson-and-mirrored-environments.aspx</id><published>2013-03-05T17:49:00Z</published><updated>2013-03-05T17:49:00Z</updated><content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;Update 4/30/2013&lt;/span&gt;: We have found a bug in TFS 2012 Update 2 that blocks usage of this feature for instances using SQL Mirroring.&amp;nbsp; If your Team Foundation Server is configured with SQL Mirroring, you should remove your databases from&amp;nbsp;their mirrors&amp;nbsp;before upgrading, as upgrading with SQL Mirroring in place will cause the servicing steps to fail.&amp;nbsp; This issue does not affect deployments that use SQL AlwaysOn.&amp;nbsp; This bug has been fixed in Update 3 and we apologize for the inconvenience.&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Starting with Team Foundation Server 2012 Update 2, TFS users will be able to upgrade deployments that use SQL AlwaysOn High-Availability Groups or Database Mirroring.&amp;nbsp; In the past, and for a number of good reasons, the upgrade process would always try to place the databases into the SIMPLE recovery model, which is not compatible with database farms such as AlwaysOn&amp;nbsp;and mirroring groups.&amp;nbsp; Therefore, users had to remove all databases from these features before attempting to upgrade, or else the upgrade would fail. &amp;nbsp;TFS will now detect that a deployment&amp;rsquo;s configuration database is involved in SQL AlwaysOn or database mirroring and will present the user with the option to upgrade their deployment in the FULL recovery model, thereby bypassing the requirement to disassemble their farm before upgrading.&amp;nbsp; In addition to being able to upgrade this way from the upgrade wizard, users can&amp;nbsp;use this feature when performing an attach of a Team Project Collection or an unattended upgrade, as these commands essentially perform the same database upgrade operations as a standard upgrade.&amp;nbsp; &lt;strong&gt;However, upgrading in the FULL recovery model, while convenient, requires more log and disk space than upgrading in the SIMPLE recovery model.&amp;nbsp; Not having sufficient space to upgrade in the FULL recovery model will cause the upgrade to fail.&lt;/strong&gt;&amp;nbsp; Your TFS database administrator should review the following documentation on the added risks of upgrading in the FULL recovery model carefully before you proceed to use this feature.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;What is the difference between the SIMPLE and the FULL recovery model?&lt;/h1&gt;
&lt;p&gt;The SQL Server &lt;a href="http://msdn.microsoft.com/en-us/library/ms189275.aspx"&gt;recovery model&lt;/a&gt;&amp;nbsp;controls the way SQL transactions are logged and whether these transactions can (or must) be backed up.&amp;nbsp; Databases are typically put into either the SIMPLE or the FULL recovery model.&amp;nbsp; The SIMPLE recovery model automatically reclaims log space after transactions are completed to minimize log space requirements; on the other hand, the FULL recovery model keeps all transactions in the log until they can be backed up to another location.&amp;nbsp; This means that databases using the FULL recovery model can be recovered to any point in time, while databases using the SIMPLE recovery model can only be restored to the latest full backup.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;How does this apply to Team Foundation Server upgrades?&lt;/h1&gt;
&lt;p&gt;By default, the Team Foundation Server upgrade process switches databases into the SIMPLE recovery model to service them.&amp;nbsp; This allows for a faster upgrade and minimizes the chance that the heavy transaction load of an upgrade will cause the system to run out of log space, which would result in the upgrade process failing.&lt;/p&gt;
&lt;p&gt;However, there are a number of options that an advanced operations group may use in SQL Server, outside the scope of TFS, to provide business continuity, disaster recovery, or high availability to their deployment.&amp;nbsp; These options include Log Shipping&lt;a title="" href="#_ftn1"&gt;[1]&lt;/a&gt;, Database Mirroring, and AlwaysOn Availability Groups, and all are dependent on the databases in question being put into FULL recovery model and staying in FULL recovery model.&amp;nbsp; Up until now, attempting to upgrade an entire server farm at once would fail because the TFS servicing steps were unable to put the databases into the SIMPLE recovery model.&amp;nbsp; Thus, the only way for users to upgrade AlwaysOn or mirrored environments was to remove their databases from these groups and upgrade them individually.&amp;nbsp; Now that Team Foundation Server 2012 officially supports SQL AlwaysOn High-Availability Groups, the upgrade wizard will intelligently detect when a database is involved in SQL AlwaysOn or Database Mirroring and allow the deployment to remain in the FULL recovery model during upgrade.&lt;/p&gt;
&lt;p&gt;If you are using AlwaysOn or Database Mirroring with TFS, you should only have one database group and your configuration database should always be part that group.&amp;nbsp; When you run the upgrade wizard and point it to your configuration database, the wizard will detect its involvement in AlwaysOn or mirroring and display the additional text outlined in red on the page.&amp;nbsp; You will not be able to continue with upgrade until you confirm that you would like to stay in the FULL recovery model during the process.&amp;nbsp; If you don&amp;rsquo;t want to proceed with upgrade in the FULL recovery model, you still have the option of removing your databases from their farm and upgrading them individually in the SIMPLE recovery model.&amp;nbsp; You will need to close the upgrade wizard and restart it once you have made that change to all affected databases.&amp;nbsp;Don't forget -- if you choose to revert to the SIMPLE recovery model during upgrade, you will need to re-enable AlwaysOn or mirroring for each database after your upgrade.&amp;nbsp; If you are using SQL AlwaysOn, you will also need to remember to add your databases back into their AlwaysOn availability group.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-89/7485.AlwaysOn.png"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-89/7485.AlwaysOn.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;&amp;nbsp;&lt;/h1&gt;
&lt;h1&gt;So tell me, what are the risks of not putting the databases into the SIMPLE recovery model prior to upgrading?&lt;/h1&gt;
&lt;h2&gt;Log and disk space&lt;/h2&gt;
&lt;p&gt;The primary risk will be amount of log space required by the database to complete the update.&amp;nbsp; Upgrade will make changes to the SQL databases in a number of serial transactions.&amp;nbsp; These transactions may be quite large.&amp;nbsp; When the database is using the SIMPLE recovery model these transactions can be purged from the logs by SQL as soon as they are committed.&amp;nbsp; Under FULL recovery these committed transactions will need to be backed off to disk before they can be purged.&amp;nbsp; Additionally, the transactions will need to be written to the Failover Partner/Secondary database(s)&amp;rsquo; log files &amp;ndash; a process known as hardening &amp;ndash; before they can be removed from disk.&amp;nbsp; &lt;em&gt;Where the log space requirements with SIMPLE recovery model may have been the single largest transaction during the update, the new log space requirement with FULL will be the single largest transaction plus some additional quantity of space for committed transactions that have not yet been written to disk and hardened at the secondary.&lt;/em&gt;&amp;nbsp; There is also a completely new requirement that the server&amp;rsquo;s disk have sufficient space available to store these transactions until they are written over to the secondary log files.&amp;nbsp; Running out of space is the primary risk as the update won&amp;rsquo;t be able to complete without adequate log space.&amp;nbsp; &lt;strong&gt;The only way to know what &amp;ldquo;adequate&amp;rdquo; is for certain will be to monitor log and disk space usage during a test upgrade. &amp;nbsp;We have provided some guidelines in the &amp;ldquo;Metrics&amp;rdquo; section around the recommended amount of log space based on our own internal testing of the feature, but every update and every TFS deployment will be different.&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;Performance&lt;/h2&gt;
&lt;p&gt;Less of a risk, but an equally important factor will be an increase in the length of time required to do the update.&amp;nbsp; Upgrading in the FULL recovery model requires the transaction log to be backed off to the &amp;ldquo;Backup Log,&amp;rdquo; which will impact both disk and transaction log performance.&amp;nbsp; Both Database Mirroring and AlwaysOn Availability Groups will require the log records to be written to the mirroring partner/secondary database(s) before the committed transactions can be removed from the log.&amp;nbsp; This will add additional network load as the transactions are copied over.&amp;nbsp; If your server is set to use the Synchronous transmission option the commit of the transaction on the primary will be delayed until the secondary can also commit, which may introduce additional latency.&amp;nbsp; For more details on Synchronous versus Asynchronous transmission, see &amp;ldquo;Advanced Options: Commit Latency Mitigation.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;As the ATs should be quiescent during the upgrade, there should be no load considerations for the primary databases.&amp;nbsp; If the AlwaysOn High-Availability Group&amp;rsquo;s secondary databases are set to being used for Read Only requests, that load could potentially slow down the transfer of the log records and their application if read-only users are running queries in the secondary databases.&amp;nbsp; Thus, it is advisable to disable user access to these databases during the upgrade.&amp;nbsp; One should be able to change them from read-only to non-readable in the AlwaysOn Availability Group dashboard and then back again after the upgrades.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;Metrics&lt;/h1&gt;
&lt;p&gt;As stated previously, the only way to truly know how much extra log and disk space will be adequate for performing upgrades in the FULL recovery model is to monitor log and disk space usage during a test upgrade.&amp;nbsp; This is because the amount of database changes contained in each TFS upgrade will be different depending on which release you are upgrading to and which release you upgrade from.&amp;nbsp; The topology of one&amp;rsquo;s TFS databases and the amount and density of the data in these databases will also be a factor. That being said, here is data from a set of sample upgrades that we performed using customer data.&amp;nbsp;&amp;nbsp;We will continue to update this data&amp;nbsp;periodically as we perform more testing on different-sized databases.&amp;nbsp; You may want to use this data to help you decide whether you want to risk upgrading in the FULL recovery model without running a test upgrade first.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TFS Instances (sizes in MB), upgrading from TFS 2010 SP1 to TFS 2012 Update 2:&lt;/strong&gt;&lt;/p&gt;
&lt;table style="border: 0px solid #000000;" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="text-decoration: underline;"&gt;Database&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="text-decoration: underline;"&gt;Database size before upgrade&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="text-decoration: underline;"&gt;Log space used in SIMPLE&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style="text-decoration: underline;"&gt;Log space used in FULL&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Configuration&lt;/td&gt;
&lt;td&gt;&amp;nbsp;8157.13&lt;/td&gt;
&lt;td&gt;&amp;nbsp;31.36&lt;/td&gt;
&lt;td&gt;&amp;nbsp;342.23&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Collection 1&lt;/td&gt;
&lt;td&gt;&amp;nbsp;124.56&lt;/td&gt;
&lt;td&gt;&amp;nbsp;62.81&lt;/td&gt;
&lt;td&gt;&amp;nbsp;358.22&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Collection 2&lt;/td&gt;
&lt;td&gt;&amp;nbsp;74.44&lt;/td&gt;
&lt;td&gt;&amp;nbsp;7.13&lt;/td&gt;
&lt;td&gt;&amp;nbsp;121.29&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Collection 3&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;4707.50&lt;/td&gt;
&lt;td&gt;&amp;nbsp;695.50&lt;/td&gt;
&lt;td&gt;&amp;nbsp;2234.19&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Collection 4&lt;/td&gt;
&lt;td&gt;&amp;nbsp;85.06&lt;/td&gt;
&lt;td&gt;&amp;nbsp;46.41&lt;/td&gt;
&lt;td&gt;&amp;nbsp;372.64&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Collection 5&lt;/td&gt;
&lt;td&gt;&amp;nbsp;56.75&lt;/td&gt;
&lt;td&gt;&amp;nbsp;17.18&lt;/td&gt;
&lt;td&gt;&amp;nbsp;347.29&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Collection 6&lt;/td&gt;
&lt;td&gt;&amp;nbsp;93.63&lt;/td&gt;
&lt;td&gt;&amp;nbsp;27.46&lt;/td&gt;
&lt;td&gt;&amp;nbsp;389.36&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Collection 7&lt;/td&gt;
&lt;td&gt;&amp;nbsp;124.69&lt;/td&gt;
&lt;td&gt;&amp;nbsp;27.84&lt;/td&gt;
&lt;td&gt;&amp;nbsp;403.97&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Collection 8&lt;/td&gt;
&lt;td&gt;&amp;nbsp;79.13&lt;/td&gt;
&lt;td&gt;&amp;nbsp;37.51&lt;/td&gt;
&lt;td&gt;&amp;nbsp;350.14&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Collection 9&lt;/td&gt;
&lt;td&gt;&amp;nbsp;140.44&lt;/td&gt;
&lt;td&gt;&amp;nbsp;54.68&lt;/td&gt;
&lt;td&gt;&amp;nbsp;399.38&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Collection 10&lt;/td&gt;
&lt;td&gt;&amp;nbsp;83.81&lt;/td&gt;
&lt;td&gt;&amp;nbsp;32.85&lt;/td&gt;
&lt;td&gt;&amp;nbsp;153.02&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Collection 11&lt;/td&gt;
&lt;td&gt;&amp;nbsp;180.00&lt;/td&gt;
&lt;td&gt;&amp;nbsp;39.42&lt;/td&gt;
&lt;td&gt;&amp;nbsp;451.45&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Collection 12&lt;/td&gt;
&lt;td&gt;&amp;nbsp;95.81&lt;/td&gt;
&lt;td&gt;&amp;nbsp;33.31&lt;/td&gt;
&lt;td&gt;&amp;nbsp;366.82&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Collection 13&lt;/td&gt;
&lt;td&gt;&amp;nbsp;859.13&lt;/td&gt;
&lt;td&gt;&amp;nbsp;50.14&lt;/td&gt;
&lt;td&gt;&amp;nbsp;578.27&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SSRS&amp;nbsp;Warehouse&lt;/td&gt;
&lt;td&gt;&amp;nbsp;1439.69&lt;/td&gt;
&lt;td&gt;&amp;nbsp;34.79&lt;/td&gt;
&lt;td&gt;&amp;nbsp;36.08&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style="width: 597px;" border="0" cellspacing="0" cellpadding="0"&gt;&lt;colgroup&gt;&lt;col width="107" /&gt;&lt;/colgroup&gt;&lt;colgroup&gt;&lt;col width="187" /&gt;&lt;/colgroup&gt;&lt;colgroup&gt;&lt;col width="159" /&gt;&lt;/colgroup&gt;&lt;colgroup&gt;&lt;col width="144" /&gt;&lt;/colgroup&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td class="xl67" width="107" height="21"&gt;&lt;span style="text-decoration: underline;"&gt;Database&lt;/span&gt;&lt;/td&gt;
&lt;td class="xl68" width="187"&gt;&lt;span style="text-decoration: underline;"&gt;Database size before upgrade&lt;/span&gt;&lt;/td&gt;
&lt;td class="xl68" width="159"&gt;&lt;span style="text-decoration: underline;"&gt;Log space used in SIMPLE&lt;/span&gt;&lt;/td&gt;
&lt;td class="xl68" width="144"&gt;&lt;span style="text-decoration: underline;"&gt;Log space used in FULL&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="xl65" height="21"&gt;Configuration&lt;/td&gt;
&lt;td class="xl66"&gt;2123.75&lt;/td&gt;
&lt;td class="xl66"&gt;722.02&lt;/td&gt;
&lt;td class="xl66"&gt;2814.43&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="xl65" height="21"&gt;Collection 1&lt;/td&gt;
&lt;td class="xl66"&gt;323.88&lt;/td&gt;
&lt;td class="xl66"&gt;308.71&lt;/td&gt;
&lt;td class="xl66"&gt;309.09&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="xl65" height="21"&gt;Collection 2&lt;/td&gt;
&lt;td class="xl66"&gt;141221.63&lt;/td&gt;
&lt;td class="xl66"&gt;5856.43&lt;/td&gt;
&lt;td class="xl66"&gt;36525.21&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="xl65" height="21"&gt;Collection 3&lt;/td&gt;
&lt;td class="xl66"&gt;4865.35&lt;/td&gt;
&lt;td class="xl66"&gt;228.74&lt;/td&gt;
&lt;td class="xl66"&gt;1202.33&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="xl65" height="21"&gt;Collection 4&lt;/td&gt;
&lt;td class="xl66"&gt;45879.94&lt;/td&gt;
&lt;td class="xl66"&gt;4337.93&lt;/td&gt;
&lt;td class="xl66"&gt;38279.04&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="xl65" height="21"&gt;Collection 5&lt;/td&gt;
&lt;td class="xl66"&gt;12642.38&lt;/td&gt;
&lt;td class="xl66"&gt;3059.35&lt;/td&gt;
&lt;td class="xl66"&gt;13616.81&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="xl65" height="21"&gt;Collection 6&lt;/td&gt;
&lt;td class="xl66"&gt;91.19&lt;/td&gt;
&lt;td class="xl66"&gt;36.11&lt;/td&gt;
&lt;td class="xl66"&gt;348.6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="xl65" height="21"&gt;Collection 7&lt;/td&gt;
&lt;td class="xl66"&gt;74.25&lt;/td&gt;
&lt;td class="xl66"&gt;34.07&lt;/td&gt;
&lt;td class="xl66"&gt;45.57&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="xl65" height="21"&gt;Collection 8&lt;/td&gt;
&lt;td class="xl66"&gt;138.19&lt;/td&gt;
&lt;td class="xl66"&gt;40.44&lt;/td&gt;
&lt;td class="xl66"&gt;340.21&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="xl65" height="21"&gt;Collection 9&lt;/td&gt;
&lt;td class="xl66"&gt;3021.13&lt;/td&gt;
&lt;td class="xl66"&gt;1536.38&lt;/td&gt;
&lt;td class="xl66"&gt;5336.12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="xl65" height="21"&gt;SSRS Warehouse&lt;/td&gt;
&lt;td class="xl66"&gt;17738.5&lt;/td&gt;
&lt;td class="xl66"&gt;65.13&lt;/td&gt;
&lt;td class="xl66"&gt;64.79&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;table border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td class="xl67" width="107" height="21"&gt;&lt;span style="text-decoration: underline;"&gt;Database&lt;/span&gt;&lt;/td&gt;
&lt;td class="xl68" width="187"&gt;&lt;span style="text-decoration: underline;"&gt;Database size before upgrade&lt;/span&gt;&lt;/td&gt;
&lt;td class="xl68" width="159"&gt;&lt;span style="text-decoration: underline;"&gt;Log space used in SIMPLE&lt;/span&gt;&lt;/td&gt;
&lt;td class="xl68" width="144"&gt;&lt;span style="text-decoration: underline;"&gt;Log space used in FULL&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="xl65" height="21"&gt;Configuration&lt;/td&gt;
&lt;td class="xl66"&gt;1131.38&lt;/td&gt;
&lt;td class="xl66"&gt;&amp;nbsp;377.56&lt;/td&gt;
&lt;td class="xl66"&gt;&amp;nbsp;1281.98&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="xl65" height="21"&gt;Collection 1&lt;/td&gt;
&lt;td class="xl66"&gt;1635.94&lt;/td&gt;
&lt;td class="xl66"&gt;&amp;nbsp;410.25&lt;/td&gt;
&lt;td class="xl66"&gt;&amp;nbsp;1458.83&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="xl65" height="21"&gt;Collection 2&lt;/td&gt;
&lt;td class="xl66"&gt;75.31&lt;/td&gt;
&lt;td class="xl66"&gt;&amp;nbsp;62.64&lt;/td&gt;
&lt;td class="xl66"&gt;&amp;nbsp;343.59&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="xl65" height="21"&gt;Collection 3&lt;/td&gt;
&lt;td class="xl66"&gt;394577&lt;/td&gt;
&lt;td class="xl66"&gt;&amp;nbsp;13165.34&lt;/td&gt;
&lt;td class="xl66"&gt;&amp;nbsp;106366.87&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="xl65" height="21"&gt;Collection 4&lt;/td&gt;
&lt;td class="xl66"&gt;62.5&lt;/td&gt;
&lt;td class="xl66"&gt;&amp;nbsp;94.28&lt;/td&gt;
&lt;td class="xl66"&gt;&amp;nbsp;219.13&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="xl65" height="21"&gt;Collection 5&lt;/td&gt;
&lt;td class="xl66"&gt;382,88&lt;/td&gt;
&lt;td class="xl66"&gt;&amp;nbsp;269.35&lt;/td&gt;
&lt;td class="xl66"&gt;&amp;nbsp;570.19&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="xl65" height="21"&gt;SSRS Warehouse&lt;/td&gt;
&lt;td class="xl66"&gt;33685.38&lt;/td&gt;
&lt;td class="xl66"&gt;&amp;nbsp;111.11&lt;/td&gt;
&lt;td class="xl66"&gt;&amp;nbsp;114.62&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;table border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td class="xl67" width="107" height="21"&gt;&lt;span style="text-decoration: underline;"&gt;Database&lt;/span&gt;&lt;/td&gt;
&lt;td class="xl68" width="187"&gt;&lt;span style="text-decoration: underline;"&gt;Database size before upgrade&lt;/span&gt;&lt;/td&gt;
&lt;td class="xl68" width="159"&gt;&lt;span style="text-decoration: underline;"&gt;Log space used in SIMPLE&lt;/span&gt;&lt;/td&gt;
&lt;td class="xl68" width="144"&gt;&lt;span style="text-decoration: underline;"&gt;Log space used in FULL&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="xl65" height="21"&gt;Configuration&lt;/td&gt;
&lt;td class="xl66"&gt;172.75&lt;/td&gt;
&lt;td class="xl66"&gt;&amp;nbsp;20.29&lt;/td&gt;
&lt;td class="xl66"&gt;&amp;nbsp;303.03&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="xl65" height="21"&gt;Collection 1&lt;/td&gt;
&lt;td class="xl66"&gt;245791.13&lt;/td&gt;
&lt;td class="xl66"&gt;&amp;nbsp;8671.32&lt;/td&gt;
&lt;td class="xl66"&gt;&amp;nbsp;72119.40&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="xl65" height="21"&gt;&amp;nbsp;SSRS Warehouse&lt;/td&gt;
&lt;td class="xl66"&gt;&amp;nbsp;38510.88&lt;/td&gt;
&lt;td class="xl66"&gt;&amp;nbsp;85.02&lt;/td&gt;
&lt;td class="xl66"&gt;85.27&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h1&gt;&amp;nbsp;&lt;/h1&gt;
&lt;h1&gt;Tips for minimizing risk&lt;/h1&gt;
&lt;p&gt;While upgrading in the FULL recovery model rather than the SIMPLE recovery model does add risk to your ability to successfully upgrade your Team Foundation Server, there are a number of ways to minimize this risk.&amp;nbsp; For example, it is always a good idea to manually grow the amount of space allocated to your SQL transactions logs as much as possible&amp;nbsp;prior to running the upgrade.&amp;nbsp; As stated above, if you use SQL AlwaysOn you should also consider disabling users' read&amp;nbsp;access to&amp;nbsp;your secondary databases&amp;nbsp;during the upgrade to maximize the speed of log transfers from primary to secondary.&amp;nbsp; And finally, it is absolutely crucial to have current backups of all your TFS data prior to performing any type of upgrade.&lt;/p&gt;
&lt;p&gt;In addition to these general tips, there are some advanced options that you may want to consider taking advantage of to minimize your risk further.&lt;/p&gt;
&lt;h3&gt;Advanced Options: Log Backup Mitigation&lt;/h3&gt;
&lt;p&gt;For Database Mirroring/AlwaysOn Availability Groups we can throw the transaction log backups away by backing them off to&amp;nbsp;a NUL device.&amp;nbsp; This will keep them from hitting the backup disk which will save us backup disk space, IOPS, and backup disk write latency.&amp;nbsp; While not quite as nice as the SIMPLE recovery model, it is roughly equivalent in function.&amp;nbsp; The transaction log files would only have value if we wanted to restore the databases to a point in time during the upgrade, which is a highly unlikely scenario.&amp;nbsp; Additionally, in order to restore the databases one would have to remove them from Mirroring/AlwaysOn.&amp;nbsp;&amp;nbsp;A catastrophic upgrade failure that cannot be restarted would warrant a restore from the full backups as one will want to get back into a pre-update state to proceed.&amp;nbsp; After the upgrade a full backup should be taken again to restore the integrity of subsequent transaction log backups.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Most systems that do transaction log backups do them on a 15 minute or longer duration.&amp;nbsp; To minimize the delay in backing off committed transactions we should increase the frequency to every minute.&amp;nbsp; To do this, it is probably easiest to disable the normal backup job and setup a new one that runs every minute, and goes to a NUL&amp;nbsp;device.&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Advanced Options: Commit Latency Mitigation&lt;/h3&gt;
&lt;p&gt;There isn&amp;rsquo;t a lot that can be adjusted with regard to delivering transactions to the failover partner.&amp;nbsp; We can choose whether the Mirror/AlwaysOn Group will be Asynchronous or Synchronous.&amp;nbsp; If log or disk space is a concern, it is generally advisable to use Asynchronous delivery.&amp;nbsp; Under Asynchronous delivery the failover partner/secondary database(s) are allowed to get behind on the delivery of the transactions, and the primary will not delay the commit of the transaction until it has been written at the destination.&amp;nbsp; This exposes the system to data loss at the destination if there is a catastrophic failure.&amp;nbsp; This scenario won't make you any worse off that if you had&amp;nbsp;just torn down your database farm from the start, with one caveat: if the failover partner/secondary database(s) goes offline and transactions&amp;nbsp;aren't delivered then it will need to be removed promptly from Database Mirroring/AlwaysOn to avoid unchecked transaction log growth.&amp;nbsp; Before allowing access to the&amp;nbsp;read-only databases, they should be checked to see if the application of the transactions is behind.&amp;nbsp; There may be a period where the primary is brought back online to resume operations, but the read-only databases are given more time to finish applying the transactions.&amp;nbsp; Because the TFS update frequently makes DDL and DML changes to the databases the secondary databases should be fully caught up with the update changes before being brought back into operation.&amp;nbsp; All the usual methods of improving log performance are still applicable such as growing out the logs for the expected usage prior to running the update, and having the logs on fast disk.&lt;/p&gt;
&lt;p&gt;Again, though it's&amp;nbsp;not required, the best way to minimize risk is to run a practice upgrade on a cloned test environment prior to upgrading your production server.&amp;nbsp; This is especially true if you have never serviced your databases in the FULL recovery model and don't know what to expect.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Provided that the appropriate cautionary measures are taken,&amp;nbsp;the ability to upgrade in the FULL recovery model&amp;nbsp;should ultimately make server upgrades more efficient and convenient for users with SQL AlwaysOn or database mirroring.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;What if I want to upgrade in the FULL recovery model, but the upgrade wizard doesn&amp;rsquo;t present me with the option to do so?&lt;/h1&gt;
&lt;p&gt;As this is a brand new feature for Update 2, there may be edge cases where the upgrade wizard does not correctly detect that your configuration database is involved in AlwaysOn or database mirroring and therefore does not give you the option to upgrade in the FULL recovery model.&amp;nbsp; There are also a number of other scenarios that are not formally supported by TFS where a user may want to upgrade in the FULL recovery model.&amp;nbsp; These include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If your databases are involved in Log Shipping.&amp;nbsp; Log Shipping is not officially supported for use with TFS, but many users have found that they are able to set up Log Shipping for their TFS databases without issue.&lt;/li&gt;
&lt;li&gt;You have a simple database but want the option of upgrading in the FULL recovery model to keep your SQL transaction chain unbroken.&amp;nbsp; However, keep in mind that you should not have any reason to want to restore your databases back to a point in time where they were only partially upgraded.&lt;/li&gt;
&lt;li&gt;Your configuration database is not involved in AlwaysOn or Database Mirroring, but some or all of your collection databases are.&amp;nbsp; Since the upgrade process only checks the configuration database and not the collections for these features, it will attempt to convert all databases to the SIMPLE recovery model in this case.&amp;nbsp; This will cause upgrade to fail as soon as it reaches a collection that cannot be placed into the SIMPLE recovery model.
&lt;ul&gt;
&lt;li&gt;If your TFS instance is set up this way, you should really consider adding the configdb to your database farm.&amp;nbsp; The data stored in the configdb is essential to TFS.&amp;nbsp; If data from the configdb is lost or corrupted your TFS instance will probably be irrecoverable.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thus, we have created a manual override that will allow any user to upgrade in the FULL recovery model, even when the upgrade wizard does not detect the need to.&amp;nbsp; To use this override, open SQL Management Studio and set the extended property,&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;strong&gt;&amp;ldquo;TFS_UPGRADE_IN_FULL_RECOVERY_MODEL = Yes&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;for &lt;strong&gt;each &lt;/strong&gt;database you wish to upgrade in the FULL recovery model.&amp;nbsp; Note that if this extended property is set to anything other than &amp;ldquo;Yes,&amp;rdquo; it will be ignored during the upgrade and TFS will default to upgrading all your databases in whichever recovery model the wizard detected it should use.&amp;nbsp; After the upgrade, you should remove this extended property from your databases so that you do not unintentionally leave it set for any future upgrades.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;Caveats, Limitations, and Known Issues&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;When upgrading a TFS instance that uses SQL AlwaysOn, please be sure to provide the wizard with your AlwaysOn Group Listener (AGL) rather than to the primary or secondary replica of your configuration database, as the AGL will always point to whichever database is labelled as the primary.&amp;nbsp; If you are upgrading a database mirror, please be sure to point the wizard to the primary replica of your configuration database.&lt;/li&gt;
&lt;li&gt;Team Foundation Server does not support having a combination of AlwaysOn databases and mirrored databases on the same instance.&amp;nbsp; If SQL AlwaysOn is enabled for a particular SQL Server instance, upgrade will not detect databases involved in any kind of mirroring; it will only detect standalone databases and the databases that are involved in SQL AlwaysOn.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;As explained above, there is an override you can set to upgrade individual databases in the FULL recovery model if you so choose.&amp;nbsp; This should unblock upgrades for any AlwaysOn or mirroring cases we do not correctly detect in the wizard as well as for any unsupported scenarios that may need to leverage this feature.&lt;/li&gt;
&lt;li&gt;This feature also applies to unattended upgrades and Team Project Collection attaches and&amp;nbsp;detaches, as these operations all perform the same type of database servicing as an upgrade using the wizard.&amp;nbsp; If you don't want your databases left in the FULL recovery model, don't forget to remove them from their replication feature prior to running any of these commands.&lt;/li&gt;
&lt;li&gt;Remember that there&amp;rsquo;s no way to guarantee whether you will be able to successfully upgrade using the FULL recovery model without attempting to do so on an identical test instance first.&amp;nbsp; Prior to performing an upgrade, always ensure you have a current full backup of your TFS data.&amp;nbsp; If your upgrade fails, you will need to use this backup to restore your data before attempting to upgrade a second time.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;br clear="all" /&gt;&lt;hr align="left" size="1" width="33%" /&gt;
&lt;div&gt;
&lt;p&gt;&lt;sup&gt;1&lt;/sup&gt;Log Shipping is not a feature officially supported by TFS.&amp;nbsp; However, it is still possible to upgrade databases involved in Log Shipping by using a manual override.&amp;nbsp; See &amp;ldquo;What if I want to upgrade in the FULL recovery model, but the upgrade wizard doesn&amp;rsquo;t present me with the option to do so?&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10399580" width="1" height="1"&gt;</content><author><name>AndreaMS</name><uri>http://blogs.msdn.com/andrea.els_4000_live.com/ProfileUrlRedirect.ashx</uri></author><category term="Upgrade" scheme="http://blogs.msdn.com/b/tfsao/archive/tags/Upgrade/" /><category term="TFS 2012" scheme="http://blogs.msdn.com/b/tfsao/archive/tags/TFS+2012/" /></entry><entry><title>Troubleshooting Installation of Team Foundation Server</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/tfsao/archive/2013/03/05/troubleshooting-installation-of-team-foundation-server.aspx" /><id>http://blogs.msdn.com/b/tfsao/archive/2013/03/05/troubleshooting-installation-of-team-foundation-server.aspx</id><published>2013-03-05T14:59:00Z</published><updated>2013-03-05T14:59:00Z</updated><content type="html">&lt;p&gt;Below is a list of common problems that can occur while installing Team Foundation Server, as well as suggestions for resolving these problems.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The most common reasons for an installation of Team Foundation Server to fail are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;You do not have enough disk space to perform the installation.&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Solution:&amp;nbsp; Clear enough disk space on your machine to complete the installation, then retry.&amp;nbsp; The download page should give a clear indication of how much space is required.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Not all components from a previous installation were completely removed.&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Solution:&amp;nbsp;Check Add/Remove Programs to see if there is an entry for the previous installation.&amp;nbsp;&amp;nbsp;If there is, uninstall it.&amp;nbsp; If there is no entry, you may want to try using an &lt;a title="http://technet.microsoft.com/en-us/library/cc759262(v=WS.10).aspx" href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx/msiexec command"&gt;msiexec command&lt;/a&gt; to uninstall it (this requires searching your package cache for packages associated with the installation, which can be tedious).&amp;nbsp; Then retry your installation.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;A network connection or connection to a file directory was lost while the installation was trying to move files to the disk.&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Solution: Re-establish your connections and retry the installation.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;You started the installation while logged on with an account that is not a member of the Administrators group on the local computer.&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Solution:&amp;nbsp; Add the user account to the Administrators group on the local computer, or log on as a user that is already a member of that group; then retry the installation.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;The hardware or software the machine uses is incompatible with the product being installed.&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Solution:&amp;nbsp; Remove or replace the incompatible software or hardware.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;The ISO image file is bad. This problem almost always involves a trial edition of Team Foundation Server.&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Solution:&amp;nbsp; Obtain a new ISO image file and retry the installation.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You may also want to examine the installation log files for insight into why the install failed.&amp;nbsp; There should be one log file for each MSI installed (or attempted), as well as one for the TFS bootstrapper; all&amp;nbsp;are titled in&amp;nbsp;the form of "dd_tfs_server_&amp;lt;timedatestamp&amp;gt;*.log"&amp;nbsp;and located in the server's AppData folder.&amp;nbsp; Search for lines that start with the tag, "[Error]" or scroll to the bottom of the log to view the most recent activity.&lt;/p&gt;
&lt;p&gt;If these suggestions do not resolve the problem you are seeing, please try re-running the installation once again.&amp;nbsp; Should the installation fail, take careful note of&amp;nbsp;any errors you are seeing&amp;nbsp;and then contact customer support.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10399518" width="1" height="1"&gt;</content><author><name>AndreaMS</name><uri>http://blogs.msdn.com/andrea.els_4000_live.com/ProfileUrlRedirect.ashx</uri></author><category term="TFS" scheme="http://blogs.msdn.com/b/tfsao/archive/tags/TFS/" /><category term="install" scheme="http://blogs.msdn.com/b/tfsao/archive/tags/install/" /></entry><entry><title>TF401066: Upgrading TFS on a machine with underscores in its name</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/tfsao/archive/2013/03/04/tf401066-upgrading-tfs-on-a-machine-with-underscores-in-its-name.aspx" /><id>http://blogs.msdn.com/b/tfsao/archive/2013/03/04/tf401066-upgrading-tfs-on-a-machine-with-underscores-in-its-name.aspx</id><published>2013-03-04T23:25:00Z</published><updated>2013-03-04T23:25:00Z</updated><content type="html">&lt;p&gt;If you received this warning message when upgrading your instance of Team Foundation Server, it means that you're trying to upgrade Team Foundation Server on a machine with underscores in its name.&amp;nbsp; It is strongly discouraged to give your machine a name that contains underscores in it if you plan to install TFS, because doing so will prevent you from connecting to TFS Web Access using Internet Explorer.&amp;nbsp; The reason for this is that Internet Explorer will not send cookies to a hostname with underscores in its name, and you must have cookies to use TFS Web Access because Web Access searches for an anti-forgery cookie when you connect.&amp;nbsp; Thus, if you run Internet Explorer, you will be unable to connect to Web Access and perform certain administrative functions such as administering team project security, assigning group membership, and assigning work item areas and iterations.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you would like to be able to use Web Access after upgrading (and you almost certainly do), you have three options:&lt;/p&gt;
&lt;p&gt;1.&amp;nbsp; Connect to TFS using a browser other than Internet Explorer.&amp;nbsp; TFS supports the latest versions of both Chrome and Firefox, so you can install one of these browsers and connect to Web Access through them without issue.&lt;/p&gt;
&lt;p&gt;2.&amp;nbsp; Create a new host header binding through IIS to bind a new hostname that does not contain underscores&amp;nbsp;to your machine.&amp;nbsp; You can then use this alias when connecting to Web Access and Internet Explorer will not throw an error.&lt;/p&gt;
&lt;p&gt;3.&amp;nbsp; Access your Application Tier via its IP address rather than by name.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You could also try to perform a machine rename like the error code suggests; however, this is only advised if you are performing a clean install rather than an upgrade.&amp;nbsp;&amp;nbsp;If you already have SQL, Reporting, and/or SharePoint configured on&amp;nbsp;your server, doing a rename will cause the bindings to those programs to break.&amp;nbsp; The Reporting and SharePoint bindings are easy enough to repair, but you will need to run some complex SQL scripts to re-establish a connection to SQL.&amp;nbsp; So unless you have a skilled database administrator who is willing to do that for you, this approach is not recommended.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10399305" width="1" height="1"&gt;</content><author><name>AndreaMS</name><uri>http://blogs.msdn.com/andrea.els_4000_live.com/ProfileUrlRedirect.ashx</uri></author><category term="Upgrade" scheme="http://blogs.msdn.com/b/tfsao/archive/tags/Upgrade/" /><category term="Warning" scheme="http://blogs.msdn.com/b/tfsao/archive/tags/Warning/" /><category term="TFS 2012" scheme="http://blogs.msdn.com/b/tfsao/archive/tags/TFS+2012/" /></entry><entry><title>Unattended Installation of TFS 2012</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/tfsao/archive/2012/10/01/unattended-installation-of-tfs-2012.aspx" /><id>http://blogs.msdn.com/b/tfsao/archive/2012/10/01/unattended-installation-of-tfs-2012.aspx</id><published>2012-10-01T14:43:00Z</published><updated>2012-10-01T14:43:00Z</updated><content type="html">&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt;&lt;br clear="all" /&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;h1&gt;Introduction&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/h1&gt;
&lt;/div&gt;
&lt;h3&gt;&lt;span style="font-size: small;" size="3"&gt;What is Unattended Installation?&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Unattended install is a feature of Team Foundation Server that lets a user pre-set all configuration parameters for a desired TFS instance in advance.&amp;nbsp; This allows TFS to be configured from start to finish without pausing for input from the Configuration Wizard during the process.&amp;nbsp; Unattended Installation takes place via the command prompt.&amp;nbsp; This paper describes the two commands through which it is performed: Create and Configure.&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="font-size: small;" size="3"&gt;Who Should Use Unattended Install?&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;This feature is ideal for users who are very familiar with TFS and the configuration process, and whose environment divides TFS functions over many different machines.&amp;nbsp; For example, many large-scale enterprise systems have several servers that are designated to builds.&amp;nbsp; Unattended install allows an administrator to quickly kick off the Team Build installation process on these machines without having to supervise each one independently.&amp;nbsp; Furthermore, since the configuration for each build server will likely be almost or completely identical, it should be easy to set each machine&amp;rsquo;s configuration parameters quickly.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div&gt;&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;
&lt;h1&gt;Feature Overview&lt;/h1&gt;
&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The unattended install feature can be used to configure all different instance types of TFS.&amp;nbsp; These include: Basic, Standard, AT-Only, Build, Proxy, and SharePoint Extensions.&amp;nbsp; To do this, you must determine in advance how the instance should be configured&amp;mdash;usually by creating an .ini file and editing it &amp;mdash; and then run the specified configuration in the command prompt.&amp;nbsp; This paper covers both the Create command to make this file and the Configure command to actually run the configuration.&amp;nbsp; It explains the different options, or parameters, for these commands and touches on a few scenarios that unattended install does not support.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The feature&amp;rsquo;s name is somewhat of a misnomer because the &amp;ldquo;unattend&amp;rdquo; commands actually perform configuration work as opposed to installation.&amp;nbsp; In order to carry out the full end-to-end installation of TFS, from loading the bits onto the disk to configuring them, you must make a batch file or PowerShell script that combines the unattend commands with an additional install command.&amp;nbsp; The first command to run is the install command, which is not part of the unattend feature.&amp;nbsp; To install the bits, navigate to the location of the program&amp;rsquo;s main executable (this is likely on a DVD that is inserted into the machine).&amp;nbsp; Then, depending on whether the version of the program is TFS or TFS Express, enter one of the following commands:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: terminal,monaco; font-size: small;"&gt;&lt;b&gt;tfs_server.exe /quiet&lt;/b&gt;&lt;b&gt; &lt;/b&gt;&lt;span size="3"&gt;&lt;span face="Calibri"&gt;or&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;tfs_express.exe /quiet&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;After this step is complete, proceed to the unattend commands in the next sections.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div&gt;&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;
&lt;h1&gt;&amp;nbsp;&lt;/h1&gt;
&lt;h1&gt;Creating a Configuration File&amp;nbsp;&lt;/h1&gt;
&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The first step to initiate an unattended installation is to create a configuration file for the specific type of installation to be performed.&amp;nbsp; This step creates a file with all relevant parameters for the given installation and performs an environment scan on the machine to populate them with smart default values.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Navigate to the Tools directory within the TFS folder.&amp;nbsp;&amp;nbsp; By default, this folder is placed in the Program Files folder of the local machine&amp;rsquo;s C: drive.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="font-family: terminal,monaco; font-size: small;"&gt;&lt;b&gt;&lt;span face="Lucida Sans Typewriter"&gt;cd C:\Program Files\Microsoft Team Foundation Server 11.0\Tools&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Once in the Tools folder, you can run the Create command.&amp;nbsp; The basic syntax for this command is:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style="font-family: Lucida Sans Typewriter;" face="Lucida Sans Typewriter"&gt;&lt;span style="font-family: terminal,monaco; font-size: small;"&gt;&lt;b&gt;tfsconfig unattend /create &lt;/b&gt;/type:&amp;lt;type&amp;gt; /unattendfile:&amp;lt;file&amp;gt; [/inputs:&amp;lt;inputs&amp;gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Here is a valid example command:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span&gt;&lt;span style="font-family: Lucida Sans Typewriter;" face="Lucida Sans Typewriter"&gt;tfsconfig unattend /create /type:basic /unattendfile:configbasic.ini&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;See the results below.&amp;nbsp; The command will be recognized and an activity log created.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-89/6862.Create-Output.png"&gt;&lt;img alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x300/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-89/6862.Create-Output.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The Create command has two required parameters and one optional parameter.&amp;nbsp; &amp;lsquo;/inputs:&amp;rsquo; is optional and will be explained later.&amp;nbsp; &amp;lsquo;/type:&amp;rsquo; and &amp;lsquo;/unattendfile:&amp;rsquo; are always required.&amp;nbsp; The possible configuration types are explained in the following section.&amp;nbsp; &amp;lsquo;/unattendfile:&amp;rsquo; represents the user-specified path for the configuration file and must end in.ini.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;span style="font-size: small;" size="3"&gt;Types of Installations&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The unattended install feature supports all the same installation types that the Configuration Wizard supports and contains fields for the same set of configuration parameters.&amp;nbsp; For the most part, the name of each configuration type for unattended install mirrors the name in the Wizard.&amp;nbsp; Here is a list of names and descriptions of the types of unattended configurations:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;&lt;b&gt;BASIC:&lt;/b&gt; Configures the essential development services for Team Foundation Server.&amp;nbsp; This includes Source Control, Work Item Tracking, and Test Case Management.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;&lt;b&gt;STANDARD:&lt;/b&gt;&amp;nbsp; Configures the essential development services along with integration with Reporting Services and SharePoint Products.&amp;nbsp; Requires at a minimum to either set &amp;lsquo;UseWss=False&amp;rsquo; or provide &amp;lsquo;WssAdminSiteAccountName.&amp;rsquo;&lt;/span&gt;&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;&lt;i&gt;Note &amp;ndash; Since the configuration file for this install type allows Reporting and/or SharePoint to be disabled, it embodies both the Standard and Advanced configurations in the Configuration Wizard.&amp;nbsp; The configuration file default is to set &amp;lsquo;UseReporting=True&amp;rsquo; and &amp;lsquo;UseWss=True,&amp;rsquo; thereby invoking a standard configuration.&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;&lt;b&gt;ATONLY:&lt;/b&gt; Reinstalls the Team Foundation Server application tier using existing databases or adds another application tier to a load-balanced farm.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;&lt;b&gt;BUILD:&lt;/b&gt; Configures Team Build services.&amp;nbsp; Creates or replaces build hosts.&amp;nbsp; Creates, adds, or replaces build controllers and build agents.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;&lt;b&gt;PROXY:&lt;/b&gt; Configures a version control proxy service.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;&lt;b&gt;SPINSTALL:&lt;/b&gt; Installs SharePoint on server operating systems.&lt;/span&gt;&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;&lt;i&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Note &amp;ndash;&lt;b&gt; &lt;/b&gt;Unlike in the Configuration Wizard, SharePoint is not installed automatically before an unattended TFS Standard configuration.&amp;nbsp; Therefore, the user may need to run &amp;lsquo;spinstall&amp;rsquo; before &amp;lsquo;standard&amp;rsquo; if the user plans to set &amp;lsquo;UseWSS=True.&amp;rsquo;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;&lt;b&gt;SPEXTENSIONS:&lt;/b&gt; Configures SharePoint extensions.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;&lt;i&gt;Note &amp;ndash; Unlike in the Configuration Wizard, SharePoint is not installed automatically during a SharePoint Extensions configuration.&amp;nbsp; The user must run &amp;lsquo;spinstall&amp;rsquo; before &amp;lsquo;spextensions&amp;rsquo; if SharePoint is not already installed on the machine.&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;&lt;b&gt;UPGRADE:&lt;/b&gt;&amp;nbsp;Upgrades Team Foundation Server to the current version from a previous release (where permitted).&amp;nbsp; This includes upgrading TFS 2012 quarterly RTM's and GoLive CTP's.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;&lt;i&gt;Note &amp;ndash; Upgrade is not currently listed as an install option in the help guidance for this feature, but it does exist.&amp;nbsp; We are working to remedy this now.&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;&lt;em&gt;Note &amp;ndash; Before running this configuration, you will need to ensure you have a current backup of your databases and then override 'ConfirmBackup' so that 'ConfirmBackup=True.'&amp;nbsp; Otherwise, the configuration will not run.&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;&lt;em&gt;&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;While the smart defaults in the configuration file for each type normally result in a successful configuration, it is important to examine the validity of each parameter in this file after it has been created.&amp;nbsp; The smart default may not match the user&amp;rsquo;s expectation or intention.&amp;nbsp; For some installation types, such as standard, additional information must always be entered by the user before the configuration file will run.&amp;nbsp; To enter or overwrite parameter values, you can either specify inputs in the Create command or open and edit the configuration file after it has been created.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;To specify inputs in the Create command, append the optional &amp;lsquo;/inputs:&amp;rsquo; parameter to the end.&amp;nbsp; Inputs are specified as &amp;lt;key&amp;gt;=&amp;lt;value&amp;gt; pairs, separated by semicolons. &amp;nbsp;The key must match the name of a parameter in the configuration file, and the corresponding value is the string that will override the default value for that parameter.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Here is an example command that utilizes the &amp;lsquo;/inputs:&amp;rsquo; parameter:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: terminal,monaco; font-size: small;"&gt;&lt;b&gt;&lt;span face="Lucida Sans Typewriter"&gt;tfsconfig unattend /create /type:standard /unattendfile:configstandard.ini /inputs:UseWss=False;UseReporting=False&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="Checklist"&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;&lt;span style="font-family: Arial;" face="Arial"&gt;Note:&amp;nbsp; &lt;/span&gt;It is not required to create a configuration file before running the command to configure a TFS instance.&amp;nbsp; However, skipping to the Configure command requires knowledge of the specific installation type&amp;rsquo;s parameters and often their default values for the local machine.&amp;nbsp; Thus, it is not advisable to skip the file creation step except for in very specific cases, like when revising or replicating a pre-existing machine configuration. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div&gt;&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;
&lt;h1&gt;&amp;nbsp;&lt;/h1&gt;
&lt;h1&gt;Editing the Configuration File&amp;nbsp;&lt;/h1&gt;
&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;To edit the configuration file that resulted from the previous step, simply enter the name of the filepath into the command prompt.&amp;nbsp; This will open the file in a text editor.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;Below is an example of a file that was generated for a standard configuration. Since the file is named &amp;ldquo;create&amp;rdquo; and exists in the local directory, it was opened by entering &lt;/span&gt;&lt;b&gt;create.ini&lt;i&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt; &lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;into the command prompt.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-89/3527.ini-file.png"&gt;&lt;img alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x550/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-89/3527.ini-file.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The lines with a leading semicolon are comments to help clarify the meaning of the parameter below it.&amp;nbsp; Be sure to edit the line containing the parameter and not the comment.&amp;nbsp; Once the desired changes are made, save the file and close it.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p align="center"&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div&gt;&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;
&lt;h1&gt;Running the Configuration&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The final step of the unattended installation is to run the desired configuration on the machine.&amp;nbsp; This process performs the same validation checks as the Configuration Wizard and then configures the specified TFS instance on the machine.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The Configure command can be run in two ways.&amp;nbsp; The first option is to specify a configuration file.&amp;nbsp; This uses the file that was created in the previous two steps and is the recommended way to run an unattended configuration.&amp;nbsp; The other way is simply to specify a type of installation to run (in the same way that a user specifies a configuration file type in the Create command), with the option of specifying inputs to override the smart defaults.&amp;nbsp; These options are mutually exclusive; you cannot specify both a file and a type.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The basic forms of the Configure command are:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: terminal,monaco; font-size: small;"&gt;&lt;b&gt;&lt;span face="Lucida Sans Typewriter"&gt;:: Option 1&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style="font-family: Lucida Sans Typewriter;" face="Lucida Sans Typewriter"&gt;&lt;span style="font-family: terminal,monaco; font-size: small;"&gt;&lt;b&gt;tfsconfig unattend /configure &lt;/b&gt;/unattendfile:&amp;lt;file&amp;gt; [/inputs:&amp;lt;inputs&amp;gt;] [/verify] [/continue]&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: terminal,monaco; font-size: small;"&gt;&lt;b&gt;&lt;span face="Lucida Sans Typewriter"&gt;:: Option 2&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style="font-family: Lucida Sans Typewriter;" face="Lucida Sans Typewriter"&gt;&lt;span style="font-family: terminal,monaco; font-size: small;"&gt;&lt;b&gt;tfsconfig unattend /configure &lt;/b&gt;/type:&amp;lt;type&amp;gt; [/inputs:&amp;lt;inputs&amp;gt;] [/verify] [/continue]&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Each parameter for the Configure command is explained in the table below.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&amp;nbsp;&lt;strong&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Table of Configure Parameters&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div align="center"&gt;&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;
&lt;table class="Tablerowcell" style="width: 547px;" border="1" cellspacing="0" cellpadding="0"&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;td width="93" valign="top"&gt;&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Command&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;&lt;/td&gt;
&lt;td width="203" valign="top"&gt;&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Behavior&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;&lt;/td&gt;
&lt;td width="126" valign="top"&gt;&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;&lt;b&gt;User Input&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;&lt;/td&gt;
&lt;td width="125" valign="top"&gt;&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Required?&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="93" valign="top"&gt;&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;/unattendfile:,&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;/type:&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;&lt;/td&gt;
&lt;td width="203" valign="top"&gt;&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Same behavior as in Create.&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Unattendfile: the path for the .ini input file.&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Type: The type of unattended configuration to run.&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;&lt;/td&gt;
&lt;td width="126" valign="top"&gt;&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Specify a configuration file.&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Specify one of the possible types.&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;&lt;/td&gt;
&lt;td width="125" valign="top"&gt;&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Either the configuration file or the type is required, but only one may be specified.&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="93" valign="top"&gt;&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;/inputs:&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;&lt;/td&gt;
&lt;td width="203" valign="top"&gt;&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Has the same syntax as in the Create command.&amp;nbsp; When &amp;lsquo;/type&amp;rsquo; is specified, allows override of smart defaults; when &amp;lsquo;/unattendfile&amp;rsquo; is specified, overrides values in the file.&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;&lt;/td&gt;
&lt;td width="126" valign="top"&gt;&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;&amp;lt;key&amp;gt;=&amp;lt;value&amp;gt;, separated by semicolons&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;&lt;/td&gt;
&lt;td width="125" valign="top"&gt;&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Optional&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="93" valign="top"&gt;&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;/verify&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;&lt;/td&gt;
&lt;td width="203" valign="top"&gt;&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Stops the process after the verification checks; does not configure&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;&lt;/td&gt;
&lt;td width="126" valign="top"&gt;&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;No additional input&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;&lt;/td&gt;
&lt;td width="125" valign="top"&gt;&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Optional&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="93" valign="top"&gt;&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;/continue&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;&lt;/td&gt;
&lt;td width="203" valign="top"&gt;&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Overrides the default behavior of stopping configuration on a warning until user presses &amp;lsquo;Enter.&amp;rsquo;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;&lt;/td&gt;
&lt;td width="126" valign="top"&gt;&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;No additional input&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;&lt;/td&gt;
&lt;td width="125" valign="top"&gt;&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Optional&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;(Has no effect when &amp;lsquo;/verify&amp;rsquo; is also specified)&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;&lt;span style="font-family: Arial;" face="Arial"&gt;Note: &lt;/span&gt;In&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;&amp;nbsp;cases where the user intends to run a configuration without creating a configuration file to manage the inputs, it is strongly recommended to run &amp;lsquo;/verify&amp;rsquo; before proceeding with the full configuration.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="font-size: small;" size="3"&gt;E&lt;/span&gt;&lt;span style="font-size: small;" size="3"&gt;xamples:&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Below are two examples of valid configuration commands.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: terminal,monaco; font-size: small;"&gt;&lt;b&gt;&lt;span face="Lucida Sans Typewriter"&gt;:: Run readiness checks only on a configuration by type with 1 override&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: terminal,monaco; font-size: small;"&gt;&lt;b&gt;&lt;span face="Lucida Sans Typewriter"&gt;tfsconfig unattend /configure /type:atonly /inputs:UseSqlAlwaysOn=True /verify&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="font-family: terminal,monaco; font-size: small;"&gt;&lt;b&gt;&lt;span face="Lucida Sans Typewriter"&gt;:: After viewing results of the checks, run configuration straight through&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: terminal,monaco; font-size: small;"&gt;&lt;b&gt;&lt;span face="Lucida Sans Typewriter"&gt;tfsconfig unattend /configure /type:atonly /inputs:UseSqlAlwaysOn=True /continue&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: terminal,monaco; font-size: small;"&gt;&lt;b&gt;&lt;span face="Lucida Sans Typewriter"&gt;:: &amp;ldquo;configureatonly.ini&amp;rdquo; has been made using &amp;ldquo;tfsconfig unattend /create&amp;hellip;&amp;rdquo;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: terminal,monaco; font-size: small;"&gt;&lt;b&gt;&lt;span face="Lucida Sans Typewriter"&gt;:: Basic command to run a configuration by file&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: terminal,monaco; font-size: small;"&gt;&lt;b&gt;&lt;span face="Lucida Sans Typewriter"&gt;tfsconfig unattend /configure /unattendfile:configureatonly.ini&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="font-size: small;" size="3"&gt;Sample Output&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The screenshot below is sample output for a successful unattended Build configuration.&amp;nbsp; Notice that the input parameters for the configuration are displayed on the screen as the command is run, followed by the readiness checks and the configuration steps.&amp;nbsp; A final message is displayed at the bottom stating whether or not the configuration completed successfully, followed by the file path to the event log for the process.&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;If there had been any issues with the configuration process, warnings would be displayed in yellow and errors would be displayed in red.&amp;nbsp; Warnings require the user&amp;rsquo;s approval to continue with configuration unless &amp;lsquo;/continue&amp;rsquo; is specified.&amp;nbsp; In the case that there are errors, configuration will not succeed.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-89/5086.Configure-Output.png"&gt;&lt;img alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x550/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-89/5086.Configure-Output.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div&gt;&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;
&lt;h1&gt;&amp;nbsp;&amp;nbsp;&lt;/h1&gt;
&lt;h1&gt;Demo&lt;/h1&gt;
&lt;h1&gt;&lt;span style="font-size: small;"&gt;Check out our demo video, where we create an unattended installation of Team Build.&lt;/span&gt;&lt;/h1&gt;
&lt;h1&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://blogs.msdn.com/b/tfsao/archive/2012/10/01/unattended-installation-of-tfs-2012.aspx"&gt;(Please visit the site to view this video)&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;Feature Limitations&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;There are a few scenarios that unattended installation does not currently support:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Unattended install is only intended for use in on-premises scenarios.&amp;nbsp; Although the Configuration Wizard can also install Build and Proxy instances that point to Azure databases, this functionality has not been implemented for the command line (there is no place to supply the Azure Cloud Storage account information).&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;As stated above, the &amp;lsquo;standard&amp;rsquo; and &amp;lsquo;spextensions&amp;rsquo; processes do not install SharePoint automatically during unattended configuration.&amp;nbsp; SharePoint must be installed separately using &amp;lsquo;spinstall&amp;rsquo; before running these installations if it has not been installed already.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Unattended install is available for Team Foundation Server Express; however, only the &amp;lsquo;build&amp;rsquo; and &amp;lsquo;basic&amp;rsquo; (where &amp;lsquo;SqlInstance=SqlExpress&amp;rsquo;) configuration types will succeed.&amp;nbsp; Unattended install will block on configuration types that cannot be installed on the Express SKU, such as &amp;lsquo;spinstall,&amp;rsquo; &amp;lsquo;spextensions,&amp;rsquo; and &amp;lsquo;proxy,&amp;rsquo; and will raise errors for the &amp;lsquo;atonly&amp;rsquo; and &amp;lsquo;Standard&amp;rsquo; configuration types, since TFS Express is only compatible with SQL Express.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Reusing unattended configuration files across machines is not currently supported because configuration files use the machine name in certain default parameter values.&amp;nbsp; It is a goal to improve this functionality in the future.&amp;nbsp; In the meantime, users can write their own scripts to dynamically switch out the machine names in their configuration file to suit their needs.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;h1&gt;Other Resources&lt;/h1&gt;
&lt;span style="font-family: Times New Roman; font-size: small;" size="3" face="Times New Roman"&gt; &lt;/span&gt;&lt;/div&gt;
&lt;h3&gt;&lt;span style="font-size: small;" size="3"&gt;Help Documentation&lt;/span&gt;&lt;/h3&gt;
&lt;p class="DT"&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;Most of the information covered in this whitepaper is summarized in TFSConfig Help for user reference.&amp;nbsp; This Help documentation lists the commands necessary to run an unattended install and includes all required and optional parameters for these commands.&amp;nbsp; It also provides example commands and a description of each of the supported installation types.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="DT"&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;To access the Help documentation for this feature, navigate to the Tools folder in your TFS directory using the command prompt.&amp;nbsp; If you installed Team Foundation Server to Program Files on your C: drive, the command will look like this:&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="DL"&gt;&lt;span style="font-family: terminal,monaco; font-size: small;"&gt;&lt;b&gt;c&lt;/b&gt;&lt;b&gt;d C:\Program&lt;/b&gt;&lt;b&gt;&lt;span face="Calibri"&gt; &lt;/span&gt;&lt;/b&gt;&lt;b&gt;Files\Microsoft Team Foundation Server 11.0\Tools&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="DT"&gt;&lt;span style="font-family: Calibri; font-size: small;" size="3" face="Calibri"&gt;Once you have navigated to the appropriate location, type: &lt;/span&gt;&lt;span style="font-family: terminal,monaco; font-size: small;"&gt;&lt;strong&gt;tfsconfig help unattend&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="DL"&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;The following page contains a screenshot of the information that should appear.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&amp;nbsp;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-89/6786.Help-Output.png"&gt;&lt;img alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x750/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-89/6786.Help-Output.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Again, although not listed&amp;nbsp;here as a valid type, unattended "upgrade"&amp;nbsp;is also supported.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10354760" width="1" height="1"&gt;</content><author><name>AndreaMS</name><uri>http://blogs.msdn.com/andrea.els_4000_live.com/ProfileUrlRedirect.ashx</uri></author><category term="TFS2012" scheme="http://blogs.msdn.com/b/tfsao/archive/tags/TFS2012/" /></entry><entry><title>Network Considerations for TFS Proxy Servers</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/tfsao/archive/2012/03/23/network-considerations-for-tfs-proxy-servers.aspx" /><id>http://blogs.msdn.com/b/tfsao/archive/2012/03/23/network-considerations-for-tfs-proxy-servers.aspx</id><published>2012-03-23T13:59:32Z</published><updated>2012-03-23T13:59:32Z</updated><content type="html">&lt;p&gt;If you are installing a TFS Proxy server on a machine that is configured to&lt;br /&gt;automatically receive the proxy settings from your network (this is different&lt;br /&gt;than DHCP) you may have connectivity issues when running the TFS Proxy Service&lt;br /&gt;as a machine account, such as NETWORK Service.&amp;nbsp;&lt;br /&gt;For servers it is generally recommended that they use pre-configured IP&lt;br /&gt;and network Proxy settings (if needed).&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You can verify this setting on your machine by opening up Internet Explorer / Tools&lt;br /&gt;/ Internet Options / Connections / LAN Settings.&lt;/p&gt;
&lt;p&gt;The problem is that these settings are cached at a user level the first time&lt;br /&gt;Internet Explorer (or default browser) is run.&amp;nbsp;&lt;br /&gt;If you are using a machine account such as NETWORK Service, it will&lt;br /&gt;never run the browser, and get these proxy settings.&lt;/p&gt;
&lt;p&gt;In this situation you will either need to:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;br /&gt;Manually configure the proxy settings for this server (preferred)&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;Run the TFS Proxy Service as a user account, login via this account,&lt;br /&gt;and launch the web browser so the proxy setting are cached.&lt;/li&gt;
&lt;/ol&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10286882" width="1" height="1"&gt;</content><author><name>Ed Holloway--MSFT</name><uri>http://blogs.msdn.com/ed_4000_edholloway.com/ProfileUrlRedirect.ashx</uri></author></entry></feed>