I am in the process of upgrading our Remote Desktop Services (RDS) Highly Available Farms, and have an issue repointing the database.
The scenario is we have 4 RDS farms that have Windows 2012 r2 Servers in the farm. We need to decommission the 2012 servers in favor of Windows 2019. I have successfully replaced the Session Brokers from 2016 to 2019, I have also replaced my session hosts with 2019. The issue is moving the RDFarm database from a SQL 2016 cluster (Windows 2012r2 OS), to a SQL 2019 cluster (Windows 2019 OS).
The current Farms are configured in HA with SQL Always On Database Backend. The connection strings are:
DRIVER=SQL Server Native Client 11.0;SERVER=SQLCluster1.Domain.LOCAL;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;Database=RDFarm;MultiSubnetFailover=Yes
I am trying to change the connection to:
DRIVER=SQL Server Native Client 11.0;SERVER=SQLCluster2.Domain.LOCAL;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;Database=RDFarm;MultiSubnetFailover=Yes
I can do a backup / restore of the Database (RDFarm.mdf), the data is there, but if you attempt to set the path with PowerShell it will error out.
The command is:
Set-RDConnectionBrokerHighAvailability -DatabaseConnectionString $DatabaseConnectionString -ClientAccessName $ClientAccessName -ConnectionBroker $ConnectionBroker
I am using a script where the Variables are filled out correctly. The error I get is:
writeErrorStream : True
PSMessageDetails :
Exception : Microsoft.PowerShell.Commands.WriteErrorException: The RD Connection Broker server is configured for high availability.
TargetObject :
CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException
FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Set-RDConnectionBrokerHighAvailability
ErrorDetails :
InvocationInfo : System.Management.Automation.InvocationInfo
ScriptStackTrace : at Set-ConnectionBrokerHighAvailability, C:\Windows\system32\WindowsPowerShell\v1.0\Modules\RemoteDesktop\Deployment.psm1: line 1551
at <ScriptBlock>, {Path}\SetNewRDS_SQLClusters.ps1: line 73
PipelineIterationInfo : {0, 1}
I am unable to get the connection brokers to change their connection string to the new location.