Remote Desktop Services 2012 | Remote desktop Connection broker High availability 2012

RD Connection Broker:

Remote Desktop Connection Broker (RD Connection Broker), formerly TS Session Broker, supports session load balancing and session reconnection in a load-balanced RD Session Host server farm. RD Connection Broker is also used to provide users access to RemoteApp programs and virtual desktops through RemoteApp and Desktop Connection. If the RD Connection Broker Load Balancing feature is enabled, RD Connection Broker also tracks the number of user sessions on each RD Session Host server in the farm, and redirects users who do not have an existing session to the server with the fewest sessions. This functionality enables you to evenly distribute the session load between servers in a load-balanced RD Session Host server farm.

High available Connection Broker Design


The Active/Active Broker feature in Windows Server 2012 is a full high availability deployment where every RD Connection Broker server is active and sharing the load. It provides high availability and high scalability benefits for medium to larger deployments. SQL Server is used for storing RD Connection Broker server runtime and configuration data thereby allowing admins to use SQL HA features for data high availability and scalability. This Active/Active Broker provides the administrator with an easily deployable high availability and scalability solution for RD Connection Broker servers

Deployment Prerequisites.

  • At least 2 servers required for connection broker high availability, (windows server 2012)
  • Specific database server or Sql database instance. SQL server 2008 R2 Standard or higher
  • Download and install SQL native client on all connection broker servers.
  • RD broker server have full permission to the SQL database and SQL installation folder.
  • Minimum one server required as session host server.
  • Firewall exemptions for SQL server should be defined before the implementations.

Connection broker Deployment.

Step 01

  • Add two connection broker servers, SQL server and session host servers to the domain
  • Create a DNS A record to represent both Connection broker servers with a single DNS. When using RDP, clients can connect to this DNS
  •  Image
  • Create a Security Group in the DC and add both Connection Broker servers to it.
  • Install SQL server 2008 R2 or SQL 2012 in Database server,
  • Create a folder in SQL server, both RD connection brokers servers should be have access to this folder, add the previously created security group to the folder security permissions and provide full access. This is where the database should be saved and both RD broker servers should have access to it.
  • Install SQL native client on both RD connection broker servers. If your SQL server is SQL server 2008 R2 then use SQL native client 10 and if its SQL server 2012, use SQL Native client 11.

Step 02

  • Login to a one Connection broker server and add all other servers to server manager,
  • Server Manager – Dashboard – Add role and Features
  • Select Remote desktop service installation

cb3 cb4

  • Select one connection broker servers


  • Select RD web access as the same Connection broker server
  • Select RD session host server


  • Select restart the destination server if required and Deploy
  • All 3 roles should complete as successful



Step 03

  • Go to server manager – remote desktop – Overview


  • Use previously created security group and give this group sysadmin, full permission to the SQL Server by using SQL Server Management Studio’s “Security” configuration.
    1. This security group also should have full permission to the SQL installation folder as mentioned in Step 01

cb9 cb10

  • Right click the connection broker and select connection broker high availability.



  • Enter the following three settings:
    1. The connection string to the SQL database containing the name of the database to be created for the RD Connection Broker server. This is the string that RD Connection Broker servers will use to connect to the RD Connection Broker database on the SQL Server.
      Example: DRIVER=SQL Server Native Client 10.0;SERVER=<SQL Server Name>;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=<DB Name>

(If you are using SQL 2012 use native client version as 11.0)

    1. The folder in which the database file is to be stored. If a local path is used, that folder should be on the SQL Server computer. This is the folder that previously created and added the broker security group as full permissions
      Example: C:\DbFiles
    2. The DNS Round Robin entry name containing IP addresses of all the RD Connection Broker servers. This will be used by RDP clients to connect to the RD Connection Broker servers.





  • Open SQL server manager in database server, the RD database is now created. Go to the security tab, Select the security group that previously added– right click properties, set default database as RDS database, and go to user mapping – tick the RD database and tick db_owner, public.


  • Right click the connection broker and select add connection broker server


Select the server and click next




This is the exact method that you can High available the RD connection broker servers. Now you can check this by using RD connection to Connection broker round robin DNS name. You can check the high availability by shutting down a one server or set active connection broker from remote desktop overview.



This article is only cover how to high available RD connection broker in windows server 2012 using one SQL server. But this scenario SQL server is became a single point of failure. So on my next blog post I will cover how to high available SQL server for RD broker using SQL mirroring.

Please create session collection and other configurations (User group adding to remote desktop security group) before use this setup because its only cover the RD broker HA.

FEP Clients not reporting to SCCM console

Recently I have faced a problem that FEP clients not reporting to SCCM console. They are placed in not reporting Collection in FEP collections.
I have drilled down the problem and found out FEP clients are reporting to the SCCM server by Desired Configuration management. For that client should have .NET Framework 2.0 or Later version.
This was not mention in FEP 2010 client prerequisites by Microsoft TechNet. 🙂 🙂 🙂
So I have created a package for Dot Net Framework 3.5 and advertise it to none reporting computers. All started to report back to SCCM Console.

NOTE – when creating .NET Framework 3.5 package use program command line – dotnetfx35.exe /qb and silent install.