Load balancing and terminal servers

Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2

Load balancing and terminal servers

Load Balancing pools the processing resources of several servers using the TCP/IP networking protocol. You can use this service with a cluster of terminal servers to scale the performance of a single terminal server by distributing sessions across multiple servers. Session Directory (included in Windows Server 2003, Enterprise Edition and Windows Server 2003, Datacenter Edition) keeps track of disconnected sessions on the cluster, and ensures that users are reconnected to those sessions.

Terminal Services Connection Management

Terminal Services Connection Management works with your load balancing service to ensure that users are transparently reconnected to the original server hosting their disconnected Terminal Server sessions. The components of Terminal Services Connection Management are:

  • A network load-balancing solution (Network Load Balancing, Domain Name System (DNS) round-robin, or a third-party solution).

  • Two or more terminal servers, logically grouped into a Terminal Server cluster.

  • A session directory server. This computer can be any running Windows Server 2003, Enterprise Edition, or Windows Server 2003, Datacenter Edition, that is visible on the network and running the Terminal Services Session Directory service. As a Best Practice, make the Session Directory server a highly available network server that is not itself running Terminal Server.

The Terminal Server Connection Management process is as follows:

  1. When the user logs on to the terminal server cluster, the terminal server receiving the initial client logon request sends a query to the session directory server.

  2. The session directory server checks the username against its database and sends the result to the requesting server.

    • If the user has no disconnected sessions, logon continues at the server hosting the initial connection.

    • If the user has a disconnected session on another server, the client session is passed to that server and logon continues.

  3. When the user logs on to the disconnected session, the session directory is updated.

Terminal Services Session Directory

The Terminal Services Session Directory service is a database that keeps track of sessions on terminal servers in a cluster and provides the information used at connection time to connect users to existing sessions.

When the Session Directory service starts up, it creates the "Session Directory Computers" local group. By default, this group is not populated. You must choose the individual computers or groups you want to participate in the Session Directory service, and then manually Changing group memberships to the Session Directory Computers group.

For more information about configuring Session Directory settings, see Configure Session Directory settings and "Hosting Applications with Terminal Server" at the Microsoft Windows Resource Kit Web site. For more information about adding members to a security group, see Changing group memberships.

To start Session Directory service

  1. Open Services.

  2. Double-click Terminal Services Session Directory Properties.

  3. To start the service, click Start. To ensure that the service runs each time the server boots, in Startup Type, click Automatic.


  • To open the Services snap-in manually, click Start, point to Administrative Tools, and then click Services.

To create a Terminal Server Cluster

  1. Open the Group Policy object for the organizational unit that contains the terminal servers you want to participate in the cluster.

  2. In Administrative Templates, in the Windows Components/Terminal Services/Session Directory folder, enable the Session Directory Active setting.

  3. In the Session Directory Server setting, click Enable, type the name of the server running the Session Directory service, and then click OK.

  4. In the Session Directory Cluster name setting, click Enable, specify a name for this Terminal Server cluster, and then click OK.

Information about functional differences

  • Your server might function differently based on the version and edition of the operating system that is installed, your account permissions, and your menu settings. For more information, see Viewing Help on the Web.