Objective:
I am continuing the development of a legacy Windows Forms application by developing locally on my laptop. The app relies on MSDTC to connect to a SQL database. I want to host the SQL database in the cloud @ Azure. A VPN has been configured to allow connectivity between my laptop and the Azure-hosted virtual network. To develop locally, how can I connect to the SQL database in the cloud via MSDTC?
Software:
- Laptop: Windows 10, Visual Studio 2019
- Virtual database server: Windows 2012, SQL 2008 R2
Firewall:
- Laptop Windows firewall: disabled
- Database server Azure Firewall: Port traffic allowed on 135, 5000-5099
- Database server Windows firewall: disabled
VPN:
- SKU: Basic
- VPN Type: Route-based
Windows domains:
- Laptop: Not joined to any domain
- Virtual database server: Joined to a Windows domain with a separate dedicated Domain Controller
DTC Security:
Database Server:
Confirmed working:
- Registry entries were made on the database server to configure MSDTC ports to be internet-facing. The
netstat -an |find /i "listening"
command confirms these ports are listening. - NetBIOS name resolution to the virtual database server from my laptop is working (via host file entry)
Error:
Using DTCPing to diagnose:
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
- In addition to testing the database server already mentioned, this error also occurs while attempting to connect from my laptop to an empty/vanilla Azure-hosted virtual server that is not joined to a domain.