На днях возникла типовая ситуация: нужно было мигрировать на новый SQL сервер. Одна из баз относилась к Remote Desktop Broker работающем в режиме HA. Т.к. документация по RDS в Windows Server 2012 R2 до сих пор куцая, то было ожидание, что неведомые проблемы неизбежны. Так и оказалось.
Классический подход и здравый смысл говорят, что перед переносом базы на новый сервер необходимо отключить клиентов. Поэтому на брокерах относящиеся к конфигурированию RDS сервисы были остановлены так, чтобы пропали подключения к SQL серверу. Затем база была перенесена на новый сервер, а на старом отключена.
После этого командлетом Get-ConnectionBrokerHighAvailability получены текущие настройки, в частности DatabaseConnectionString.
Затем строка подключения была исправлена с указанием нового сервера и выполнен командлет Set-RDDatabaseConnectionString.
В результате он завершился ошибкой:
Set-RDDatabaseConnectionString : The database is not reachable from the specified RD Connection Broker server.
At line:1 char:1
+ Set-RDDatabaseConnectionString -DatabaseConnectionString «DRIVER=SQL Server Nati …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException
+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Set-RDDatabaseConnectionString
Как видите, мрачные ожидания оправдались.
После нескольких неудачных попыток и откатов конфигурации было установлено, что для переключения брокеров на новый SQL сервер все сервисы RDS на брокерах должны работать, и должно работать подключение к старому SQL серверу – логика миграции совершенно иная по сравнению с другими приложениями.
Такая схема переключения имеет хороший плюс: миграцию базы на новый SQL сервер можно делать на лету без останова сервиса.
Filed under: Remote Desktop | Tagged: Remote Desktop, Windows |
Добавить комментарий