Не удаляется RDSH хост, ошибка parametr name sddform

Обновлено 29.04.2022

rds logo

Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов рунета Pyatilistnik.org. В прошлый раз мы с вами выбирали метод, позволяющий производить подключение к удаленному рабочему столу в системах Windows. В сегодняшней статье я вас научу решать проблему, когда вы хотите удалить из конфигурации RDS фермы один из хостов RDSH, а он не удаляется, появляется ошибка, которая явным образом не дает понять в чем дело. Давайте я разберу .что вы можете сделать в такой ситуации.

Описание ситуации

И так есть собранная RDS HA ферма на базе Windows Server 2019. В какой-то момент с одним из RDSH хостов случилась неприятность и его не стало. В такой ситуации я всегда делал простую вещь, это удаление из коллекции, но в привычной мне операции произошла нестандартная вещь, сервер RDSH не хотел удаляться, я получал ошибку:

Unable to set the properties of the RD Session Host server name in the database. Value cannot be null. Parameter name: ssdlForm

RDS host not deleted, parameter name sddlform error

Можно конечно на это забить, но данный сервер нельзя перевести в режим стока, и поэтому в какой-то момент на него не смогут попасть пользователи, получив ошибку. Нам такое не нужно.

Как исправить ошибку

Все дело в том, что информация, о данном сервере хранится в базе данных Connction Brokers.

В моем случае, это база данных на MS SQL Server. Переходим на него и выполняем вот такой запрос:

SELECT TOP (1000) [Id]
,[Name]
,[OsVersion]
,[ClusterName]
FROM [DB_ConnectionBroker].[rds].[Server] 

Видим зависший сервер с ID 63

Поиск потерянного RDSH хоста в коллекции

Удаляем данный сервер.

SELECT TOP (1000) [Id]
,[Name]
,[OsVersion]
,[ClusterName] --delete
FROM [DB_ConnectionBroker].[rds].[Server]
where id = 63

В результате данный хост просто пропал сам из коллекции RDS фермы. Если у вас нет базы MS SQL Server и вы храните во внутренней БД, то вам нужно установить /skachat-sql-server-management-studio-posledney-versii/SQL Management Studio и подключиться в ней к Windows Internal Database на каждом из брокеров. Путь для подключения:

\\.\pipe\MICROSOFT##WID\tsql\query

sql-management-studio подключение к БД

В разделе «Базы данных» вы найдете базу данных с именем RDCms, разверните ее и перейдите к таблицам. Найдите rds.serverНажмите кнопку "Query". Щелкните правой кнопкой мыши по таблице  rds.server и выведите список первых 1000 строк.

Найдите ID сбойного сервера.

Windows Internal Database

После чего выполните команду:

use RDCms

delete from rds.server where Id=3

Удаление записи из Windows Internal Database-2

Теперь мертвый RDSH сервер будет удален из базы данных и вы сможете привести конфигурацию в должный вид.

Автор - Сёмин Иван

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *