Назад |
Перейти на главную страницу
Как я могу подключиться к базе данных SQL в облаке через MSDTC?
Задача:
Я продолжаю разработку устаревшего приложения Windows Forms, разрабатывая локально на своем ноутбуке. Приложение полагается на MSDTC для подключения к базе данных SQL. Я хочу разместить базу данных SQL в облаке @ Azure. А VPN был настроен для обеспечения возможности подключения между моим ноутбуком и виртуальной сетью, размещенной в Azure. Для локальной разработки, как я могу подключиться к базе данных SQL в облаке через MSDTC?
Программное обеспечение:
- Ноутбук: Windows 10, Visual Studio 2019
- Виртуальный сервер базы данных: Windows 2012, SQL 2008 R2
Брандмауэр:
- Брандмауэр Windows на ноутбуке: отключен
- Сервер базы данных Брандмауэр Azure: трафик портов разрешен на 135, 5000-5099
- Брандмауэр Windows сервера баз данных: отключен
VPN:
- Артикул: Basic
- Тип VPN: на основе маршрута
Домены Windows:
- Ноутбук: не подключен ни к одному домену
- Виртуальный сервер базы данных: присоединен к домену Windows с отдельным выделенным контроллером домена
Безопасность DTC:
Сервер базы данных:
Подтверждена работа:
- Записи в реестре были созданы на сервере базы данных для настройки портов MSDTC для выхода в Интернет. В
netstat -an |find /i "listening"
команда подтверждает, что эти порты прослушивают. - Разрешение имени NetBIOS для виртуального сервера базы данных с моего ноутбука работает (через запись файла хоста)
Ошибка:
С помощью DTCPing для диагностики:
Invoking RPC method on sqlvm1
Problem:fail to invoke remote RPC method
Error(0x6D9) at dtcping.cpp @303
-->RPC pinging exception
-->1753(There are no more endpoints available from the endpoint mapper.)
RPC test failed
- Помимо тестирования уже упомянутого сервера базы данных, эта ошибка также возникает при попытке подключиться с моего ноутбука к пустому / ванильному виртуальному серверу, размещенному в Azure, который не присоединен к домену.