
Я готовлю среду, в которой посредник подключений к удаленному рабочему столу, для которого HA будет основан на сервере SQL (стандарт Windows Server 2022)
В моем случае SQL-сервером является MS SQL Server Express 2022, у меня правильно подготовлен DNS, группа в AD, предоставлены разрешения для этой группы, отключены брандмауэры, есть соответствующий коннектор ODBC.
Но каждый раз получаю ошибку подключения - база данных создается из SSMS (пустая).
Driver={ODBC Driver 18 for SQL Server};Server=tcp:SERVERNAME\NAMEDINSTANCE,1433;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;Database=rds_db
Я использовал эти два пути в конфигурации:https://rdr-it.com/en/rds-farm-high-availability-service-broker-configuration/ https://woshub.com/configure-rds-connection-broker-high-availability-windows-server/
Разве SQL Express иногда не является проблемой? У меня порт 1433, а мастер четко указывает порт 1434
На что еще следует обратить внимание?
Как решить эту проблему?
Помогите, пожалуйста. Пытаюсь сделать то же самое в лабораторных условиях, но ошибка та же.
краткое резюме:
sql.lab.net - SQL Server Express с новой пустой базой данных: rds_db
rds1.lab.net - первый хост rds с ролью брокера
rds2.lab.net - второй хост rds
в Active Directory у меня есть группа безопасности с этими двумя хостами
в sql у меня есть логин, сопоставленный с этой группой безопасности (dbowner, dbcreator, public, sysadmin)
все брандмауэры отключены - проверьте telnet от rds1.lab.net до sql.lab.net порт 1433 открыт
на rds1.lab.net и rds2.lab.net в локальной группе: RDS Managment Server я добавляю хосты rds1,rds2 и сетевую службу
в DNS у меня есть две записи A в зоне revers lab.net с именем rds.lab.net (ip rds1) и rds.lab.net (ip rds2) - round robin
решение1
Вот некоторые вещи, которые вам нужно проверить:
Убедитесь, что ваш экземпляр действительно прослушивает TCP 1433, если вы хотите подключиться таким образом. Откройте Sql Server Configuration Manager
. Разверните SQL Server Network Configuration
и выберите Protocols for YOURINSTANCE
. Щелкните правой кнопкой мыши TCP/IP
и измените на IP Addresses
. Либо ваш адрес IPv4, либо IPALL
необходимо установить порт TCP на 1433. Проверьте это, найдя процесс sqlserver на вкладке Resource Monitor
. Также можно попробовать подключиться с другого хоста с помощью SSMS.Network
Listening Ports
Установлен ли тот драйвер ODBC, который вы хотите использовать? Проверьте на ODBC Data Source Administator
вкладке Drivers
. Поддерживается ли он вообще приложением, которое вы хотите настроить? Для тестирования попробуйте использовать Native Client
.
Возможно, стоит также проверить эту документацию:Добавьте сервер RD Connection Broker к развертыванию и настройте высокую доступность
решение2
Я знаю, что на момент моего ответа этой просьбе о помощи исполнилось девять месяцев, но я столкнулся с той же проблемой, и, возможно, то, что помогло мне, поможет кому-то еще.
Апост в блоге Microsoft SQL Serverобъясняет:
Подобно изменениям по умолчанию с HTTP на HTTPS, внесенным в веб-браузеры несколько лет назад (и причинами безопасности), мы меняем значение по умолчанию
Encrypt
параметра соединения сno
наyes
/mandatory
. (Были добавлены новые значения шифрования «обязательный» и «необязательный», синонимы «да» и «нет» соответственно, чтобы лучше описать поведение шифрования.)...Если изменение Encrypt коснулось вас, выполните одно из следующих действий (в порядке рекомендации):
- Установите на свой сервер доверенный сертификат.
- Измените настройку строки подключения «Шифровать» вашего клиента (или свойство подключения) на необязательное/нет.
Мне удалось подключиться к базе данных после добавления «Encrypt=Optional;» в конец строки подключения.
Изменение строки подключения автора сообщения таким же образом должно сработать:
Driver={ODBC Driver 18 for SQL Server};Server=tcp:SERVERNAME\NAMEDINSTANCE,1433;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;Database=rds_db;Encrypt=Optional;