Description of the TFSQuiesce Team Foundation Server component

Article ID: 950893 - View products that this article applies to.
Expand all | Collapse all
Source: Microsoft Support

RAPID PUBLISHING

RAPID PUBLISHING ARTICLES PROVIDE INFORMATION DIRECTLY FROM WITHIN THE MICROSOFT SUPPORT ORGANIZATION. THE INFORMATION CONTAINED HEREIN IS CREATED IN RESPONSE TO EMERGING OR UNIQUE TOPICS, OR IS INTENDED SUPPLEMENT OTHER KNOWLEDGE BASE INFORMATION.

Action

When you are performing Team Foundation Server system servicing, such as installing a service pack or hotfix, the installer disables access to the Team Foundation Server for the duration of the servicing. This is called "quiescing" the server. After completion of the servicing, the server is reenabled, or "unquiesced". 

This capability was introduced as an update to Team Foundation Server 2005. The update is available at http://support.microsoft.com/default.aspx?scid=kb;EN-US;919156. No update is required for Team Foundation Server 2008, as this functionality is included.

More Information

The quiescing operation is done by a command line utility called TFSQuiesce.exe, which is located in the "<TFS home directory>\TF Setup" folder. By default, the TFS home directory is either "Microsoft Visual Studio 2008 Team Foundation Server" or "Microsoft Visual Studio 2005 Team Foundation Server" folder, under c:\Program Files.


How Quiescing Works

The various TFSQuiesce operations are called "workflows". Here is a brief description of the workflows carried out by TFSQuiesce when quiescing and unquiescing.

Quiesce ATDT workflow

  • Stops the W3SVC, TFSServerScheduler, and CoverAn services.
  • Sets IP restrictions on W3SVC to only allow local connections (grant only 127.0.0.1 and any IPs assigned to the local machine).
  • Disables SQL TFS jobs TfsWorkItemTracking Full Text Crawl Job, TfsActivityLogging Administration Job, TfsVersionControl Administration Job, TfsBuild Team Build Administration Job, TfsWorkItemTracking Process Identities Job, and TfsIntegration Maintenance Job.
  • Detects logins associated with users who are members of TFSEXECROLE and TfsWarehouseDataReader roles for each of the TFS databases, and either disables the logins (TFS 2005) or denies connection permissions (TFS 2008) for those logins.


If the quiesce fails for any reason, the changes it has made are rolled back. In other words, if an operation in Quiesce ATDT fails, any previous successful operations are undone, and the server should be restored to its previous operable state.

Unquiesce ATDT workflow
  • Starts the W3SVC, TFSServerScheduler, and CoverAn services.
  • Removes the IP restrictions on W3SVC to only allow local connections (removes the grant only 127.0.0.1 and any IPs assigned to the local machine).
  • Enables SQL TFS jobs TfsWorkItemTracking Full Text Crawl Job, TfsActivityLogging Administration Job, TfsVersionControl Administration Job, TfsBuild Team Build Administration Job, TfsWorkItemTracking Process Identities Job, and TfsIntegration Maintenance Job.
  • Detects logins associated with users who are members of TFSEXECROLE and TfsWarehouseDataReader roles for each of the TFS databases, and either enables the logins (TFS 2005) or grants connection permissions (TFS 2008) for those logins.

Manual Quiescing / Unquiescing

As previously mentioned, quiescing occurs automatically when you run the service pack or hotfix installations. It is also possible for you to quiesce and unquiesce the server if you are performing other maintenance tasks, and wish to temporarily disable access to Team Foundation Server. Do this by manually executing TFSQuiesce.exe at a command prompt.

Here is the command to quiesce a single server installation:
TFSQuiesce /n:"Quiesce ATDT"

If SQL Server is a named instance, you must specify the machine and instance name with the /s switch, The . indicate the local machine:
TFSQuiesce /n:"Quiesce ATDT" /s:".\<SQLInstanceName>"

So assuming the instance name is TFSSQL, the command would be TFSQuiesce /n:"Quiesce ATDT" /s:".\TFSSQL"

Here is the command to quiesce both the application tier (AT) and data tier (DT) of a dual server installation. Here, because the DT server is remote you must specify the DT machine name, and its SQL instance name if applicable.
TFSQuiesce /n:"Quiesce ATDT" /s:"<DTServerName>[\<SQLInstanceName>]"

So assuming the DT server name is TFSDT and the instance name is TFSSQL, the command would be TFSQuiesce /n:"Quiesce ATDT" /s:"TFSDT\TFSSQL"


After a successful quiesce operation, you will see output like this:

Workflow 'Quiesce ATDT' executed successfully.

After an unsuccessful quiesce operation, you will see output like this:

Workflow 'Quiesce ATDT' failed! ExitCode = 9000.


When you are ready to reenable the server, you re-execute the same command, except replacing "Quiesce" with "Unquiesce". This will once again render your TFS installation operable.

Here is the command to unquiesce a single server installation:
TFSQuiesce /n:"Unquiesce ATDT"

Here is the command to unquiesce a single server installation where SQL Server is a named instance:
TFSQuiesce /n:"Unquiesce ATDT" /s:".\SQLInstanceName"

Here is the command to unquiesce both the application tier (AT) and data tier (DT) of a dual server installation:
TFSQuiesce /n:"Unquiesce ATDT" /s:"DTServerName[\SQLInstanceName]"


Notes

  • In each case, the /n (workflow name) parameter text is case sensitive.
  • TFSQuiesce must be run as a user with permissions to the application tier server and SQL Server. Usually the "TFS Setup account" is the best choice.
  • In Windows Server 2008, TFSQuiesce must be run from an Administrator command prompt.

DISCLAIMER

MICROSOFT AND/OR ITS SUPPLIERS MAKE NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY, RELIABILITY OR ACCURACY OF THE INFORMATION CONTAINED IN THE DOCUMENTS AND RELATED GRAPHICS PUBLISHED ON THIS WEBSITE (THE “MATERIALS”) FOR ANY PURPOSE. THE MATERIALS MAY INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS AND MAY BE REVISED AT ANY TIME WITHOUT NOTICE.

TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, MICROSOFT AND/OR ITS SUPPLIERS DISCLAIM AND EXCLUDE ALL REPRESENTATIONS, WARRANTIES, AND CONDITIONS WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO REPRESENTATIONS, WARRANTIES, OR CONDITIONS OF TITLE, NON INFRINGEMENT, SATISFACTORY CONDITION OR QUALITY, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, WITH RESPECT TO THE MATERIALS.

Properties

Article ID: 950893 - Last Review: March 26, 2008 - Revision: 1.1
APPLIES TO
  • Microsoft Visual Studio 2005 Team Foundation Server
  • Microsoft Visual Studio Team System 2008 Team Foundation Server
Keywords: 
kbnomt kbrapidpub KB950893

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com